使用大语言模型构建智能客户支持代理的测试。

查看 19|回复 0
作者:smalltong02   
继上次对 Llama-3-8B 和 Phi-3-mini 模型进行指令跟随测试之后,鉴于本地 AI 工具箱已经比较完备,所以决定对模型进行更加复杂的测试。
这次我打算使用大语言模型加上 AI 工具箱中的工具,来构建一个智能客户支持代理。这个代理首先由大语言模型来驱动,对客户的输入进行语义理解之后,可以智能选择工具箱中的工具来为客户服务并解决问题。
目前智能客户支持代理可能使用的工具包括:
[ol]
  • 本地知识库 - 根据公司产品的内部文档进行构建。
  • 搜索引擎 - 可以从互联网或公司内部网站上进行搜索。
  • 功能调用 - 提供一组函数供模型调用,使模型可以实际执行一些功能。
    [/ol]
    这次的 Demo 将从头构建一个 PS5 的智能客服,并配备本地知识库、搜索引擎和功能调用工具。大语言模型将使用 Gemini-1.5-Pro 。之所以没有选择开源模型 Llama-3 等在本地部署,是因为测试效果很不理想,目前只有闭源大模型才能很好的完成这种复杂任务。
    下面将演示它是如何工作的:
    一、首先为智能体创建一个产品知识库
    知识库名字为 PS5, 里面存放两个演示文档"PS5 Start Guide"和"PS5 Safety Guide":

    对文档向量化并存储到向量数据库中:


    二、创建 PS5 智能客户支持智能体
    加载大语言模型 Gemini-1.5-Pro 并且输入产品的描述:

    测试中不使用语音输入和输出,所以这里什么都不选:

    选择刚刚创建的知识库 PS5 ,搜索引擎使用 Bing (如果要在内网搜索,需要实现内网的搜索引擎),激活 Function Calling 功能。测试中仅仅使用了函数 "submit_warranty_claim(caption: str, description: str)" 用来提交修理单:

    最后加载代理配置:

    三、进行智能客户支持智能体的测试
    好了,现在万事已经齐备,让我们开始测试吧!
    首先,别一上来就直奔主题,让我们先和智能体闲聊几句,拉拉近乎。它高兴了才能为我们更好的服务您说是不?:)其实也是想拉长对话历史,看看模型会不会出现问题。
    我先提了三个问题:
    [ol]
  • Hello, Nice to meet you.
  • please introduce yourself first.
  • Can you introduce your products?
    智能体回答也是中规中矩,这些问题它并没有使用任何的工具,仅仅靠产品描述和客服的定位来回答了我们的问题:
    [/ol]

    第四个问题是:
    [ol]
  • Are there any new products from PlayStation in 2024?
    [/ol]
    智能体发现问题已经超过了它知识的时间范围,所以选择使用搜索引擎 Bing 的结果来回答了问题:

    也可以查看 Bing 的搜索结果,进行检验:

    第五个问题是:
    [ol]
  • Does the PS5 have text-to-speech feature?
    [/ol]
    这个问题估计也不在智能体的知识范围内,所以它使用知识库 PS5 的结果来回答了问题:


    第六个问题我需要提交一个修理单,因为我的 PS5 手柄坏掉了。
    [ol]
  • My PS5 controller is broken. There's no response when I press the shoulder button. Please help me arrange for a repair.
    [/ol]
    智能体收到请求后,它首先让我完善了一下购买信息:姓名,Email ,PS5 的序列号,以及购买时间等等:

    于是我在下一轮的对话中,提交了这些信息:

    智能体收到这些信息后,调用函数 "submit_warranty_claim(caption: str, description: str)" 帮我提交了修理单:

    令人欣喜的是它还把我最后提供的信息加到了 Email 中,生成了修理单号 317150 ,并最终发给了 [email protected]:

    总结:通过这次测试发现,对于这种稍微复杂一点的使用情况,非常考验模型的基础能力。这次测试的难点主要是自动选择合适工具,正确生成工具的调用,以及使用函数调用时可以正确的生成参数。期待下次有可以在本地部署的开源语言模型,也可以完成这个任务。:)
    这里也提供一个全部流程的视频演示:
    https://youtu.be/GU5yvZiPXFs
    也欢迎关注我的项目:
    https://github.com/smalltong02/keras-llm-robot
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部