写点什么

从零到一:打造专属客服聊天机器人

  • 2025-02-26
    北京
  • 本文字数:2279 字

    阅读完需:约 7 分钟

下面以 AI 课程客服聊天机器人为例,设计“迪哥的客服”客服聊天机器人。为了让初学者能快速上手搭建自己专属领域的客服聊天机器人,本例中客服聊天机器人的总体架构采用前后端分离的架构设计模式,总体架构如下图所示。



“迪哥的客服”总体业务流程:在 Web 前端构建一个聊天窗口,用于展示客户和客服聊天机器人的聊天交互过程,客服聊天机器人结合外挂的知识库内容,根据其功能角色定义,完成客户姓名、电话和聊天内容等信息的结构化收集与总结,并将相关信息进行结构化展示。


(1)前端设计方案:包括前端聊天窗口、前端聊天信息的监听等功能。利用 Voiceflow 工具,无须编写复杂的代码,即可快速完成前端聊天功能的拖曳式编排开发。

(2)后端设计方案:包括知识库构建、客服聊天机器人的角色任务定义和多轮对话信息的交互总结。在完成对话任务后对客户的相关信息进行总结形成结构化的商机清单表格。


前端功能设计


利用 Voiceflow 工具快速编排 AI Agent 聊天交互流程,构建前端聊天窗口,生成前期 Web 前端的代码块,将代码块插入前端 Web 页面即可完成客服聊天机器人的前端设计开发。下图为开发完“迪哥的客服”并将其插入前端 Web 页面后的效果。



1.利用 Voiceflow 工具设计前端功能

本例利用 Voiceflow 工具快速完成客服聊天机器人“迪哥的客服”前端功能的搭建。

“迪哥的客服”前端功能编排设计流程如下。

(1)Start:设置客服服务的启动任务,开始“迪哥的客服”之旅。

(2)Create Thread:启动一个线程,通过 API 和后端服务接口对接,如果 API 对接成功,则进入聊天交互流程,否则聊天任务结束。

(3)Capture UserInput:进入聊天交互流程,先在聊天窗口中展示问候提示语,然后根据客户输入的内容调用后端聊天 API 答复客户问题,如果和 API 对接成功,则进入多轮对话流程,否则聊天任务结束。

(4)GET 和 POST 接口函数:前后端接口对接,该接口需要和后端服务接口对齐。

2.前端功能的 Web 嵌入

“迪哥的客服”前端功能编排设计完成后,单击“迪哥的客服”编排界面右上角的“publish”按钮,完成“迪哥的客服”的发版,在发版时可以根据业务需要设置其前端界面的颜色、尺寸等内容。

发版成功后,复制“Installation”下的代码块,将其粘贴到前端 Web 页面的</body>前,即可完成客服聊天机器人前端功能的 Web 嵌入。


后端功能设计


1.后端总体功能和部署简介

客服聊天机器人后端服务利用 Replit 工具构建和发布,这可以省去服务器租用、后端服务的打包、服务部署等工作流程,实现一键发布和部署。

(1)复制“迪哥的客服”项目代码,单击右上角的“Fork”按钮构建自己的后端服务代码。

(2)将 functions.py 中 OPENAI_API_KEY、url、AIRTABLE_API_KEY 替换为自己的数据,main.py 中 OPENAI_API_KEY 替换为自己的数据。

(3)单击“Run”按钮运行程序代码,如果出现图右下角框中的提示标识,则说明后端服务运行成功。



(4)单击“New tab”按钮,获取服务接口(出现 Not Found 后,浏览器中的网页地址即为接口地址),并将其复制到客服聊天机器人的前端 GET 和 POST 相关接口中,完成前后端功能的串联打通。

2.重点功能和 API 调用介绍

该项目包括 assistant.json、dige.docx、dige.txt、functions.py、main.py、prompts.py 项目文件。下面分别介绍它们的作用及相关外部 API 的调用情况。

(1)dige.txt 是外挂的知识库包括对迪哥 AI 课程相关情况的介绍,在不同场景下可以外挂不同的知识库。图所示为外挂知识库向量化的生成函数,assistant.json、dige.docx 是调用 GPT 生成的外挂知识库,如果重新导入知识,则要将 assistant.json 删除,程序运行后会生成新的文件。



(2)main.py 是项目的主程序,利用 Flask 框架封装服务,用于提供对话请求等服务。

(3)functions.py 是项目的功能模块,主要用于将对客服聊天机器人总结的客户信息等结构化信息写入在线表单。

(4)prompts.py 用于设计 Agent 的角色任务。在该项目中客服聊天机器人助手的角色是一个 AI 学习规划专家,擅长根据客户的需求进行分析并给出合适的课程规划方案,其中一位“迪哥”老师的课程介绍已经提供,在回答问题时可根据该附件内容进行回答,并根据客户的地理位置给出合适的课程方案报价。在为客户提供报价后通过对话交流获取客户姓名、电话、微信号。最后总结一句话来描述客户所咨询的问题和给出的答案,以及客户的购买意向是否强烈,以便销售团队进行进一步营销。当获取这些信息后,客服聊天机器人助手需要调用 create_lead 函数来生成表单。

3.聊天内容结构化展示

AI 课程客服聊天机器人完成聊天对话内容的提炼和总结后,要对客户姓名、电话、聊天总结内容等信息在后端进行结构化展示,以便支持下一步的营销工作。本例利用 Airtable 工具完成相关信息的结构化展示。

(1)利用 Airtable 工具设计在线表单接口。表单字段需要和客服聊天机器人后端服务中的字段数据保持一致,包括 Name、Phone、WeChat、Address、Summary 等。

(2)设置完成后单击右上角用户头像,选择“Builder hub”选项发布在线表单,并设置在线表单的版本,添加读/写权限和选择第(1)步创建的在线表单空间。单击“Create token”按钮,生成访问表单的 token,并保存该 token。

(3)在“Web API”界面中复制刚生成的 curl 地址[第(2)步创建在线表单空间后生成]。

(4)通过 Postman 工具对在线表单接口进行测试。利用 Postman 工具对在线表单进行测试,在测试时需要输入测试接口和 token,接口地址和 token 都是第(2)步生成的,注意在填写 Authorization 时不要忘记添加 Bearer 关键字。

(5)测试成功后,将相关的接口和 APIKey 复制到后端代码中即可。这样就完成了聊天商机信息的结构化展示后端功能的开发。

以上内容摘自《AI Agent 应用与项目实战》

↑限时优惠,快快抢购吧↑



用户头像

还未添加个人签名 2019-10-21 加入

还未添加个人简介

评论

发布
暂无评论
从零到一:打造专属客服聊天机器人_博文视点Broadview_InfoQ写作社区