Published on

Dify 实战——构建 AI 客服

Authors
  • avatar
    Name
    叫我小N就好啦
    GitHub
    @MinorN

使用 Dify 构建 AI 客服

客服分为:售前客服、订单客服、售后客服等等,所以我们需要一个问题分类器,来对各种类型的问题进行分类,从而转接到不同的客服

我们导入一点客服的数据(假的测试即可)

搭建售前客服

添加对应知识检索节点

随后添加大模型节点,选择对应的上下文

最后添加直接回复即可,随后点击预览,提问:请介绍你们家的产品特点,价格如何。只要是有关售前的问题即可

搭建订单客服

首先我们可以用户一上来就可以填写我们的订单号,在开始节点添加一个参数

随后添加条件分支节点,判断用户是否提供了订单号

最后查询到订单后,直接返回即可。

但是这样会有个问题,如果我们一开始不提供订单号,后续再提供,此时的 orderid 并不会赋值,会一直走 else 流程,所以我们需要在 else 分支后添加参数提取器,根据用户的输入提取对应的订单号

随后我们需要判断是否提取出了订单号

但是此时出现新的问题,http 请求节点此时的参数可能会从两个来源产生,用户一开始就提供了订单号或者参数提取器提取的订单号;我们就需要用到一个新的节点:变量赋值

此时我们全局中就有了一个全局变量 orderid

然后只需要把 http 节点中的参数改成从会话中获取 orderid 即可

http 节点返回后的值发现被包裹了一层,所以我们需要一个代码执行节点来进行转化成 Object

我们如果想美化返回的内容,可以使用模板转换节点,直接写 html 变得更加优美即可

搭建售后客服

售后客服的前提是必须得有相对应的订单,和订单问题类似,也需要判断是够有对应的订单号,流程和订单问题极度相似,所以说在代码执行的节点后需要在添加一个条件判断,判断订单问题和售后问题,如果是订单问题,走原流程,是售后问题,我们需要走知识库的查询(和售前类似)