如何手搓一个有“人格”的智能客服机器人?

0 评论 4846 浏览 31 收藏 14 分钟

在大语言模型的趋势下,是否可以使用大语言模型,自己做一款智能客服机器人出来?成本有多高?难度有多大?本文对此进行解析,一起来看看吧。

有非常多的朋友,联系我推荐靠谱的智能客服产品,但在2023年的今天再次审视这个问题,我们面临一个全新的选择,是不是可以使用大语言模型,自己做一款智能客服机器人出来?成本有多高?难度有多大?

我们可以把智能客服拆分为“智能”+“客服”两个不同的产品维度来看。

1. 客服

如果要实现客服系统,需要我们准备多渠道的接入管理和设置,常见的渠道包括电话、Web网站、H5移动端页面、微信、企微、邮件、短信、微博等,如果是自己开发,则选择自己需要用到的服务场景和获客渠道。主要功能是实现渠道消息的接入,在线IM消息和座席人工消息工作台。可以简单的实现,配合自己的客户信息系统,实现访客的关联和管理。

2. 智能

接下来就是智能的部分,以往自行开发智能客服系统,大部分受制于智能机器人的难度,只能实现人工方式的在线客服。传统方式的智能客服机器人,需要搭建AI引擎,对接ASR和TTS能力接口,实现智能语音AI能力的接入。

建立机器人知识库,实现问答模式的相似问,扩展词、专有词管理等建立机器人流程,配置机器人意图、识别、分支流转以及复杂的流程控制方式,以实现多轮会话和任务管理建立机器人数据统计分析模块,方便运营管理和数据标准、训练。将两者结合,才可以完成智能客服的基本工作流程。

2022年大语言模型的爆发,对智能客服机器人产品带来了最直接的冲击。一个最核心的焦点问题就是:如何使用大语言模型,更快更好的搭建一个客服机器人呢?今天就和大家具体聊聊看,怎样手搓一个有“人格”的大语言模型客服机器人,可以完成文本和语音的个性化接待工作。

一、为什么需要人格特征

其实在大语言模型到来之前,除了像小冰等独立的AI产品,可以训练不同人格,音色的机器人来唱歌,对话,作诗。客服机器人领域就一直在探索如何实现机器人的性格,受限于技术能力和实现难度,以及经济性,并没有比较好的产品方案。大家使用的客服型机器人,几乎千篇一律是标准化的问候,回答,处理问题,使用多轮会话处理特定任务。你说它们智障也好,人家就是不生气,有啥说啥,主打一个兢兢业业。但是现在大语言模型来了,我们可以狠狠期待一波,那么今天就聊聊,怎么手搓一个有人格特征的大语言模型机器人

二、开始前的准备工作

如果你对客服机器人很熟悉了,那么我们直接开始。如果还需要补充一些基础知识,可以关注我,翻翻我以前整理的关于大语言模型的一些应用,关于知识库文档提取,知识库自动扩写等方法,手搓机器人都要用得到。文末我也会贴上链接。另外就是,你需要有一定的编程基础,尤其是对大语言模型相关的用法,对LangChain等框架和常用国内外LLM的调用已经学会,懂向量数据库。

三、客服机器人的连接渠道

现在机器人的服务场景是确定的。就是微信、企微、网站、H5、以及一些视频媒体、社交媒体,以及电话。电话的实现需要用到CTI通信集成技术,比较复杂,先实现以上渠道的在线客服,通过IM对话方式接入访客到座席的消息连接。在这之间,就可以使用我们的客服机器人进行访客接待,并且在适当的触发情况下,设置出口,将消息转发人工座席。以上是客服机器人的场景和基本原理。

四、向量数据库的设置

要做出和以往不同的机器人来。基于向量数据库与OpenAI Embedding,以及OpenAI chat/completions接口,实现的基于企业知识库的大语言模型机器人。从产品化的角度考虑,应在多租户账户中设置独立的知识库,提供文件上传和训练的功能。支持主流的docx 、txt、xlsx、pdf等格式。获取文档内容后,按字符长度分块,调用OpenAI Embedding接口,存入到向量数据库。如果是SaaS系统,要注意基于多租户实现数据分割。

五、大语言模型客服机器人的设置

关键的步骤来了,我们要给机器人赋予“人格”除以往的客服机器人设置之外,增加大语言模型独有的机器人性格参数,建议增加以下内容

1. 角色扮演设置

你要设定的机器人是什么身份、什么背景。比如“假设你是“AA公司”的销售顾问,名字叫Alice,你的微信和电话是***,公司的网站是”“假设你是“唉呀马呀旗舰店”的电商客服,你的名字叫首席体验师,主要针对访客的咨询,订单,售后,投诉等问题进行服务”“假设你是“天天优秀”医院的服务代表,你的名字是林医生,医院的官微官网地址是**,你主要了解访客的病情并推荐引导访客来院进一步检查”

如果是做产品化设计,也可以抽取字段作为配置项目:名称、角色、职责、背景信息等。目的是开启一段RolePlay的角色基本的设定,玩过游戏的都会吧。发挥你的想象力,给出demo,让你的客户自己来填写也没问题。

2. 限制范围

如果不加以限制,机器人就会天马行空的和访客瞎讲了。所以这里要加以明确的约束,比如“你只能根据对话的上下文回答问题”“你只能根据已知知识信息回答问题”“你绝对不能和访客暴露自己是个“AI、机器人、人工智能、大模型、ChatGPT””目的是限定机器人的回答内容限定在历史会话数据上下文和企业知识库体系内作答,以及隐藏真实身份,如果有必要的话。这里也可以增加对历史会话记录和知识库文档的关联配置。

3. 字数限定

为了防止大模型话痨,我们可以设定简洁明快的字数限定。

当然,也为了节约一些宝贵的Token,可设置如下规则“你应该尽量口语化回应,并尽量安抚用户的情绪,你的回答应该是简洁的、不要超过50字”

4. 未知问题提示词

还是一种限定,实在无法解答的问题,可以引导机器人如此回答,避免机器人自己“智能涌现”了,乱答一气。

比如:对于访客与知识无关的问题,你应明确拒绝并告知用户“很抱歉哦,您的这个问题很有趣,但是我无法回答您。麻烦您提供描述的更细致详细一点”产品化思路是,这里可以增加多样性回复和人工座席的出口,推荐访客点击或者直接转接人工座席服务。

5. 口语化语气词

为了让大模型机器人更加有趣一些,可以增加语气词的设定。如“可以在回答过程中,适当地加入些语气词,如:“嗯嗯”、“哇”、“亲”、“哈”、“哦”等词语。”

6. 首次咨询问答

一个引导语的配置,可以规范机器人在接待时与客户打招呼的内容,交给客户自行设定即可。当然,要和自己的人设尽量保持一致。

以上内容的组合,通过产品界面配置,生成promte工程化提示词,来触发角色扮演场景的初始化设定,并且限定了知识领域。

7. “温度”

最后,再提一下一个隐藏参数:温度在让大模型回答问题时,Temperature温度这个参数很有作用,是最重要的源指令之一。这个值一般介于0-2之间,数值越低就越精确,数值越高就越发散。原理是大模型生成回复内容是,为不同单词分配不同概率的输出。当温度趋近于0时,模型倾向于保守的回复,选择概率最高的单词回复,这样意义很准确,但可能不够个性和多样化。就是比较僵化一些。

当温度为1时,默认初始化设置,兼顾多样性和连贯性当温度趋近于最大值2时,模型可以输出更多样性的内容,文案也更加跳脱。如果你希望获得更具创造性的回答效果,调高温度如果你希望机器人更保守精准一些,温度就调低。大家可以实际测试下效果对比。

8. “监控保护”

大模型在判断问题时,如果遇到涉及政策、宗教、暴力、血腥、色情等不合时宜问题时,根据自身知识库深度会给出返回值。建议可以增加对这些触发的处理。以一个通用引导语作为规避。

此处也可以外接扩展敏感词字库进行问题的过滤。

一些优秀产品实现效果截图,仅供参考

使用Claude模拟角色扮演场景对话(注意,没有限定本地化知识)

六、参考信息

以上基于原生chatGPT3.5会话接口,向量生成接口等,Fine-tuning和Embedding嵌入的搜索提问方式,客服机器人是文本对话聊天,不考虑多模态向量搜索方式,会比较简单一些。定义人格机器人,已经有很多成熟的例子,推荐一个https://ora.ai大家可以上手定制下自己的人格机器人玩一下。脑洞大的话能玩出花来

人格机器人定制和社群ORA

以上内容,就是设置一个具有一定“人格”的客服机器人的一些要点。当然,要真的完整实现一个产品化的智能客服,那最少还是要有大量的配套功能要做的。

单一个在线客服功能,没有几百个参数,不好意思说自己是成熟产品。大家耐下心来好好打磨,也很期待能够看到更多有趣的“人格”智能客服机器人出现在人工智能产品序列中。

专栏作家

通信产品的那些事,公众号:通信产品的那些事,人人都是产品经理专栏作家。通信产品老兵。当过正规军,干过游击队。智能客服、呼叫中心产品砖家。致力于大语言模型在行业的落地应用实践。

本文原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!