Skip to content

第 3 课:工作流的大脑(LLM 节点)

LLM 节点

目标:为邮件助理装上大脑,掌握 AI 节点(LLM)的用法,并学会如何测试与调试工作流。

如果说开始节点是准备材料,结束节点是出菜,那么大型语言模型(LLM)节点就是负责烹饪的主厨。它是工作流的大脑和核心,负责执行所有思考、分析、创作等智能任务。你想让 AI 总结文章、写代码、回答问题或是创作文案,都是通过这个节点来完成的。

配置大型语言模型

我们需要在 LLM 节点选择使用大型语言模型,让我们来快速配置一下。

打开设置

点击头像,在出现的菜单中点击**设置**。


  ![设置](/images/difyworkflow101-lesson03-llmnode-1.png)

安装 OpenAI 模型供应商

在左侧的设置中点击**模型供应商**,在安装模型供应商里选择 OpenAI,点击**安装**。


  ![选择 OpenAI](/images/difyworkflow101-lesson03-llmnode-2.png)


  ![安装 OpenAI](/images/difyworkflow101-lesson03-install.png)

返回编排窗口

安装成功,你会在模型列表中看到名为 OpenAI 的大型语言模型。点击右上角 **ESC**,回到编排窗口。

看懂大语言模型的能力标签

正如每位主厨都有自己的拿手菜系,不同的大语言模型也有自己擅长的领域。在 FlexAI 里选择模型时,你会看到它们身上挂着一些标签,这些标签就是为了告诉我们它擅长什么。

CHAT(聊天) 拥有这个标签的模型,擅长对话、写文章、做总结。我们今天的邮件助理工作流就需要带有这个标签的大型语言模型。
1048K(记忆力) 这个数字代表模型的上下文窗口,可以理解为它的**短期记忆有多强**。 K 代表千,1048K 就意味着它能一次性处理大约一百万个词(Token)的超长信息,比如读完一本很厚的书,还能记住开头的情节。 > **Info:** > 包含这个标签的大型语言模型,对于处理长文档、长对话非常有帮助。
多模态能力 (Multi-modal) 模态指的是信息的类型。多模态就是指模型能处理多种类型的信息,而不仅仅是文字。 **VISION(看图识字)** 带有这个标签的模型,不仅能理解文字,还能看见图片!你可以给它发送一张图,然后问它图里包含什么? **AUDIO(声音辨识)** 带有这个标签的模型,可以听懂音频文件。你可以给它一段录音,让它转写成文字或者总结内容。 **VIDEO(视频分析)** 该模型能理解视频内容。 **DOCUMENT(文档阅读)** 该模型可以直接阅读和理解你上传的文档,比如 PDF 或者 Word 文件,然后回答相关问题。

了解这些标签,能帮助你在未来为不同的任务,挑选最合适的主厨。对于我们今天的邮件助理,选择一个基础的 CHAT 模型就足够了。

动手实践 1:添加 LLM 节点

打开你的应用

打开刚刚第二课创建的邮件助理工作流。

添加节点

在开始和结束节点中的空白处,点击右键选择添加节点 - LLM 节点。选中 LLM 节点,在右侧面板的模型内,选择模型 **gpt-4o-mini**。


  ![添加节点](/images/difyworkflow101-lesson03-addthenode.png)

连接节点

点击 LLM 节点两侧的加号,分别连接开始和结束节点。


  ![连接节点](/images/difyworkflow101-lesson03-connectthenodes.png)

接下来,我们需要告诉大型语言模型需要做什么。点击 LLM 节点,在右侧的面板中,找到 System 输入框。在这里,你可以给 AI 输入具体的任务指令(Prompt)。

添加提示词

核心概念:提示词 (Prompt)

你可以理解为给 AI 下达的具体任务指令,你告诉 AI 做什么以及怎么做。

最关键的是,你可以在 Prompt 中,使用来自开始节点的变量。这样,AI 就能根据你每次提供的不同材料而变化。在 FlexAI 中,你只需要用变量名称这样的格式(我们在第一课动手实践开始节点里的:customer_nameemail_content),就可以把变量嵌入到你的指令中。

动手实践 2:编写 Prompt

现在,我们将一起编写提示词,同时把变量融入其中。

编写指令

回到刚才的邮件助理工作流,我们将在 LLM 节点中的 System 输入框内输入 Prompt,让我们用简洁明确的方式写出指令。

```plaintext wrap
You are a professional customer service manager. Based on the customer's email, please draft a professional reply.
Requirements:
1. Start by addressing the customer name with a friendly tone.
2. Thank them for their email.
3. Let them know we have received it.
4. Sign off as Anne.
```

添加用户消息(User Message)

用户消息是你发送给模型的内容——可以是提问、请求或模型需要完成的任务。 在此工作流中,客户姓名和邮件内容每次都会发生变化。与其手动输入,我们不如在用户消息中添加**变量(Variables)**。

1. 点击系统框下方的 **Add Message(添加消息)** 按钮。
2. 在用户消息框中,输入 `customer name:`。
3. 按下键盘上的 `/` 键。
4. 此时会弹出变量选择菜单,点击 **customer_name**。
5. 按下 **Enter** 键开始新的一行,输入 `email content:`。
6. 再次按下 `/` 键并点击 **email_content**。


     ![添加用户消息](/images/difyworkflow101-lesson03-addusermessage.png)

Tip:

  想插入变量的时候,只要按下键盘上的 `/`,在弹出的菜单里选中你需要的变量,就能轻松搞定。
4. 最终的 Prompt 如下图所示。


  ![提示词预览](/images/difyworkflow101-lesson03-finalprompt.png)

至此,你已经完成了首个工作流的完整编排。

运行与调试

材料备好了,主厨也到位了,指令也写好了,那么工作流的出品如何呢?在正式出菜之前,让我们先试个菜。

测试是确保工作流稳定运行的关键一步,它能帮助我们提前发现并解决潜在的问题。

小科普:检查清单(Checklist)

检查清单就像你的私人体检医生,它会实时扫描你的工作流,自动找出配置不完整或者明显的错误(比如有节点没有连接好)。

在点击运行前先看一眼这里,能帮你提前了解工作流哪里有不完整的地方。

动手实践 3:测试与调试

提前检查

看看画布右上角,那个检查清单图标是不是出现了数字 1? 这意味着,你还有一个地方没有处理好。


  ![检查清单](/images/difyworkflow101-lesson03-checklist.png)

分析警告

点击它,你会看到一个警告:**输出变量不能为空**。这意味着输出变量没有收到任何内容。

想象一下:主厨(LLM 节点)已经把菜做好了,但是服务员(输出节点)没有拿到菜,也根本不知道该把菜端给你。

解决问题

1. 点击输出节点。
2. 在右侧面板的输入变量旁,点击加号(+)。
3. 在左侧变量名中,填入 `email_reply`。
4. 在右侧选择框,选择 LLM 节点下的 `{x} text`。


  ![解决问题](/images/difyworkflow101-lesson03-fixtheissue.png)

测试运行

完成后,你会发现检查清单上的数字消失了,让我们来进行测试运行。点击画布右上角的**运行**,输入客户名字和客户邮件原文,点击**开始运行**。


  ![测试运行](/images/difyworkflow101-lesson03-testrun.png)



```text 邮件测试示例
客户名字:Amanda

客户邮件原文:
Hi there,

I'm writing to ask for more information about FlexAI. Could you please tell me more on it?

Best regards,
Amanda
```

运行成功!

你会发现,每个节点都运行成功(右侧有绿色的打勾符号),右侧详情处的状态为 SUCCESS。

恭喜你!你不仅完成了第一个工作流的搭建,并掌握了基础的测试和调试工作流的技巧。

小挑战

使用工作流,继续完成旅游攻略生成器的搭建。

Tip:

探索 FlexAI 的提示词生成器

![提示词生成器](/images/difyworkflow101-lesson03-promptgenerator.png)