智能客服第一步:售后知识库准备工作,成果为WORD,PDF,TXT,MarkDown等格式的电子文档
收集整理公司客服应答记录,保留与公司产品售后服务相关的文本记录;
收集公司在售产品的产品手册、操作说明书、售后服务协议、客服人员培训资料等。
第二步:搭建流水装配工厂,成果是将知识库中的电子文档转化为语言向量
可从开源社区GitHub中寻找这类向量化装配工厂,完成知识库文本向量化流水处理工作。推荐可采用Langchain,搭建起装配工厂的流水线,这条流水线的上下游构成如下:
挑选各类非结构化的文本加载工具(Langchain中整合了各类常见文件加载器),拼装成所需的文本加载器组;
挑选文本分割器(如nlp_bert_document-segmentation_chinese-base),将大文本切割成段,方便后续加工;
选择文本向量化模型Embedding,(如 nghuyong/ernie-3.0-nano-zh,GanymedeNil/text2vec-large-chinese);
选择一个向量化数据库VectorStore,(如 Milvus,FAISS);
采用Langchain这类工具,将以上工具和模型组装成流水线,实现文本知识存入向量数据库。
第三步:搭建和训练大语言模型,成果是具备你专业业务领域的知识处理能力的大语言模型
选择大语言模型基座,可供选择的大语言模型很多,既可选开源的大语言模型(如THUDM/chatglm-6b,vicuna-13b-hf),也可选商用的大语言模型(如OpenAI中的gpt-35-turbo);
将以上知识库中的文本,按模型训练所需的数据格式(如JSON格式),随机分成两部分,一部分为训练数据,一部分为测试数据,一般分割比例可设为4:1;
利用大语言模型提供的API接口,输入以上训练和测试数据,训练大语言模型,得到微调模型;
启动大语言模型,加载微调后的模型,使用Chat类接口,验证训练结果。
第四步:将客户的问题输入给大语言模型,成果是智能客服像人一样为客户做服务
接收用户问题输入,采用第二步相同的Embedding工具,进行向量化;
将向量化后的问题,在向量知识库中进行搜索,获得与此问题语义相关度较高的知识文本片段;
将客户问题和知识文本片段,按提问模板拼装为问题提示Prompt;
将Prompt发送至大语言模型,调用Chat类接口,生成答案;
将问题答案以Stream的形式展现给客户端,实现逐字逐句问答的效果。
接下来,我们还可以搭建一个更加复杂的智能代理。其步骤方法与智能客服类似,但需要在一些环节中加入对业务交易系统数据操作的能力。
智能代理
我们参考DB-GPT,在以上的装配线上,做些组件更换,训练数据补充,引入数据库操作和数据展现等工具。
第一步:增加业务系统数据结构知识准备工作
在公司业务产品知识库的基础上,增加业务系统数据结构文档。
第二步:搭建流水装配工厂,支持数据库处理能力
新引入常用ER图格式转SQL工具组件(如eralchemy,sqlacodegen);
引入SQL执行器(如SQLAlchemy)、数据分析器(如Matplotlib)。
第三步:搭建和训练大语言模型,新增数据结构知识训练
用业务数据结构的知识,微调训练大语言模型,具备业务数据操作SQL生成能力。
第四步:将客户的问题输入给大语言模型,返回数据查询分析结果
在Chat的模式下,补充数据图表能力,给出下一步操作引导提示。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。