🛒 课程17:智能电商客服 FAQ 助手
🎃
在企业真实业务场景里,在线客服 往往是最能体现 AI 价值的环节。
本节我们就来打造一个 “智能电商客服 FAQ 助手”:
用户输入问题 → AI 从知识库中检索答案 → 如果知识库未覆盖,AI 自动给出一份标准化补充回复
使用多风格输出打造营销文案生成器
——让 AI 自动帮你为同一商品生成不同渠道的营销文案
Agent体验地址:http://8.137.23.32/workflow/E8OF9Mn4jYjbTm8G
🧭 教学目标
- 熟悉 知识库节点 的创建与调用方法
- 学习如何利用 LLM 节点 对知识库检索结果进行重写与优化
- 温习 条件分支节点 的使用,实现“有命中 vs 未命中”两种不同回答路径
- 完成一个可直接嵌入到企业在线客服电商场景的 FAQ 智能助手
✂️ 应用目标拆解:
💁♀️
在企业电商客服中,常见问题有两类:
- 高频 FAQ:例如“发货时间多久?”、“退换货政策是什么?”
→ 这类答案在知识库里有标准答案,AI 直接提取即可。 - 未覆盖问题:例如“你们有没有情人节的特别款式推荐?”
→ 这类问题知识库没有记录,但 AI 可以生成一份温和、标准化的补充回复(如“我们会尽快为您查询相关信息”)。
所以我们要做的就是一个“FAQ 双通道逻辑”:用户输入问题 → 系统先从知识库检索:命中 → LLM 美化/补充 → 输出标准答案;未命中 → 输出统一的兜底话术。
💡 Agent 设计思路:
在这个案例中,Agent 的设计主要分为两个核心步骤:


工作流整体截图如下:

📚️ 知识库创建
☘️
创建一个 FAQ 知识库,导入 Dify 的知识库,已有的常见问题与标准答案(支持 Excel/CSV 导入)。
确保每条 FAQ 格式统一,例如:
Q: 发货需要多久?A: 我们将在 48 小时内完成发货,并提供物流单号
如果你对知识库相关概念和操作还不太熟悉,可以点击右侧按钮进行学习:打开超链接。
💡
这样后续的检索和匹配更准确,并且也更方便做分段处理,大家可以参考一下我们的知识库测试文件。
FAQ测试文件预览:

具体步骤
1:选择数据源
点击 Dify 工作台的知识库,然后选择创建知识库。

选择导入已有文本,然后点击选择文件,上传我们准备好的 FAQ 知识库文件,然后点击下一步。


2:文本分段与清洗
配置基本选择默认的即可,必须勾选的是:“替换连续的空格、换行符和制表符”,“使用 Q&A 分段,语言 Chinese Simplified”。然后点击预览块,就可以在右侧看到自动分段后的知识库文件。

🧈
因为我们采用的是 FAQ 知识库形式,所以文本分段这一部分属于提前预处理完毕,点击按钮即可自动完成分段。但如果是文章、教程、官方文档类的知识库,就不适用该分段按钮的规则。
在预览块浏览后,确定分段效果没有问题,就点击保存并创建。

然后等待知识库创建完成即可。

⚙️ 工作流搭建
1:🧱 创建 Agent 应用
在工作室界面,点击创建 空白应用。

应用类型选择 Workflow,然后依次填入应用名称和描述,点击创建。

2:🔩 设计工作流
☘️
进入 Workflow 工作流编排界面后,默认已经有了开始节点,我们按照应用目标拆解逐步添加节点即可。
在这个案例中,你会用到一个新知识点:
- 知识检索节点:帮我们从 FAQ 知识库里找到最相关的答案
如果你对该知识点还不太熟悉,可以点击右侧按钮进行学习:打开超链接。

开始节点:
点击开始节点,在右侧的输入字段板块点击 +,新增一个变量。

这个变量为 user_input,用来接收顾客的原始问题。

设置好之后就是这样。

知识检索节点
💡
在开始节点里,我们已经为用户设置了下拉选项(小红书、抖音、正式广告),但这里有个小细节:
条件分支节点需要明确的 字符串变量 来做判断,而下拉选项本质是一个枚举值,直接传过去会导致工作流无法运行。为了解决这个问题,我们在开始节点和条件分支节点之间增加一个变量聚合器节点,把用户选择的下拉值转化为标准字符串。
在左侧面板找到 知识检索,拖到画布上。

点击设置变量值,在弹出的窗口中选择开始节点的 user_input。

点击 + 进行知识库添加,选中需要使用的知识库,然后点击添加。

知识检索里的 召回设置 默认参数已经能满足大多数应用场景。这里必须设置一下 Score 阈值,数值为 0.5 左右;如有更特殊的业务需求,也可以自行调整并测试对比。

条件分支节点:
接着拖入条件分支节点,用来判断有没有检索到答案。

点击添加条件,选择变量为知识检索节点的 result。

设置判断值为“不为空”,添加完毕之后如下图。

判断节点不为空 → LLM节点:
♟️
条件分支节点判断不为空后,会进入该 LLM 节点,大模型将检索后的内容进行优化,再输出给用户。
因此需要添加一个 LLM 节点,用来把知识库答案润色成自然的客服口吻。

添加好后链接起来,设置它的模型和提示词。

模型使用硅基流动的 deepseek-ai/DeepSeek-V3。

然后输入写好的提示词,大家可以参考:
点击复制提示词

📌
注意,系统提示词中如果想要引入知识库内容作为变量,需要在上下文处添加知识库检索节点的输出变量。
判断节点为空 → LLM节点:
♟️
如果条件分支节点判断检索结果为空,说明知识库中没有找到合适的答案。
此时需要让一个 LLM 节点接管,根据用户输入生成一段更人性化的回复:宗旨为告诉用户“暂时无法处理该问题”,避免冷冰冰地直接返回空结果。
在条件分支节点后,再拖入一个 LLM 节点。

添加好后链接起来,设置它的模型和提示词。

📌
注意,IF = 不为空,ELSE 就 = 为空,所以这里链接的是 ELSE 分支。
模型使用硅基流动的 deepseek-ai/DeepSeek-V3。

然后输入写好的提示词,大家可以参考:
点击复制提示词

结束节点:
按照图示步骤,添加结束节点到工作流画布并链接起来。


结束节点直接回复所有 LLM 的输出即可,点击 +。

因为前面条件分支节点的限制性,即便我们在这里添加了所有 LLM 节点的输出,最后也只会输出一个 LLM 节点的结果。

4:🚀 测试应用
工作流测试:
点击运行。

看到弹出的新窗口后,输入测试信息,然后点击开始运行。

🍊
当知识检索结果不为空时(即命中了知识库答案),会进入上方的 LLM 节点。这个节点的作用是将知识库里比较生硬的答案润色成更自然的客服口吻,提升用户体验。

如图所示:左侧条件分支判断知识检索 result ≠ 空,于是走到上方的 deepseek-ai/DeepSeek-V3 模型节点,模型接收到知识库答案并进行了人性化改写。
🥦
当知识检索结果为空时(即知识库中没有找到相关答案),会进入下方的 LLM 节点。这个节点会以人性化语气礼貌告知用户“目前无法处理该问题”,避免直接返回空结果。

如图所示:左侧条件分支判断知识检索 result = 空,于是走到下方的 LLM 2 节点(Pro/moonshotai/Kimi 模型),模型根据提示词生成一句温和的客服回复,明确表达“暂不支持该需求”。
