使用大语言模型构建智能客户支持代理的测试。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
smalltong02

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

  •  
  •   smalltong02
    smalltong02 2024 年 5 月 12 日 2191 次点击
    这是一个创建于 714 天前的主题,其中的信息可能已经有所发展或是发生改变。

    继上次对 Llama-3-8B 和 Phi-3-mini 模型进行指令跟随测试之后,鉴于本地 AI 工具箱已经比较完备,所以决定对模型进行更加复杂的测试。

    这次我打算使用大语言模型加上 AI 工具箱中的工具,来构建一个智能客户支持代理。这个代理首先由大语言模型来驱动,对客户的输入进行语义理解之后,可以智能选择工具箱中的工具来为客户服务并解决问题。

    目前智能客户支持代理可能使用的工具包括:

    1. 本地知识库 - 根据公司产品的内部文档进行构建。
    2. 搜索引擎 - 可以从互联网或公司内部网站上进行搜索。
    3. 功能调用 - 提供一组函数供模型调用,使模型可以实际执行一些功能。

    这次的 Demo 将从头构建一个 PS5 的智能客服,并配备本地知识库、搜索引擎和功能调用工具。大语言模型将使用 Gemini-1.5-Pro 。之所以没有选择开源模型 Llama-3 等在本地部署,是因为测试效果很不理想,目前只有闭源大模型才能很好的完成这种复杂任务。

    下面将演示它是如何工作的:

    一、首先为智能体创建一个产品知识库

    知识库名字为 PS5, 里面存放两个演示文档"PS5 Start Guide"和"PS5 Safety Guide": image

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

    image

    二、创建 PS5 智能客户支持智能体

    加载大语言模型 Gemini-1.5-Pro 并且输入产品的描述: image

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

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

    最后加载代理配置: image

    三、进行智能客户支持智能体的测试

    好了,现在万事已经齐备,让我们开始测试吧!

    首先,别一上来就直奔主题,让我们先和智能体闲聊几句,拉拉近乎。它高兴了才能为我们更好的服务您说是不?:)其实也是想拉长对话历史,看看模型会不会出现问题。

    我先提了三个问题:

    1. Hello, Nice to meet you.
    2. please introduce yourself first.
    3. Can you introduce your products? 智能体回答也是中规中矩,这些问题它并没有使用任何的工具,仅仅靠产品描述和客服的定位来回答了我们的问题:

    image

    第四个问题是:

    1. Are there any new products from PlayStation in 2024?

    智能体发现问题已经超过了它知识的时间范围,所以选择使用搜索引擎 Bing 的结果来回答了问题:

    image

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

    第五个问题是:

    1. Does the PS5 have text-to-speech feature?

    这个问题估计也不在智能体的知识范围内,所以它使用知识库 PS5 的结果来回答了问题:

    image

    image

    第六个问题我需要提交一个修理单,因为我的 PS5 手柄坏掉了。

    1. My PS5 controller is broken. There's no response when I press the shoulder button. Please help me arrange for a repair.
      1. 智能体收到请求后,它首先让我完善了一下购买信息:姓名,Email ,PS5 的序列号,以及购买时间等等:

        image

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

        image

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

        image

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

        image

        总结:通过这次测试发现,对于这种稍微复杂一点的使用情况,非常考验模型的基础能力。这次测试的难点主要是自动选择合适工具,正确生成工具的调用,以及使用函数调用时可以正确的生成参数。期待下次有可以在本地部署的开源语言模型,也可以完成这个任务。:)

        这里也提供一个全部流程的视频演示: https://youtu.be/GU5yvZiPXFs

        也欢迎关注我的项目: https://github.com/smalltong02/keras-llm-robot

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2633 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 70ms UTC 02:04 PVG 10:04 LAX 19:04 JFK 22:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86