大模型系列|基于大模型的聊天助手案例

本篇主要是采集一些大模型在聊天机器人中的案例,因为目前很多企业都会考虑将LLM与业务结合,LLM超强的理解力非常适合聊天场景

1 PingCAP企业专属知识库的智能客服机器人

期望LLM实现的需求:

  • 采取多轮对话形式,理解用户的提问,并给出回答。(LLM可以完美实现
  • 在回答的内容中,关于 TiDB、TiDB Cloud 的知识点要求准确无误。(向量数据库满足)
  • 不能回答与 TiDB、TiDB Cloud 无关的内容。(毒性检验

实践中遇到的问题:

  • 不准确的不良(毒性)内容识别:一些与公司业务相关的问题被模型误判并拒绝回答。例如,“dumpling” 实际上是 TiDB 的一个数据导出工具,但当用户直接提问 “ dumpling 是什么?”时,模型却误以为是关于食物的问题,拒绝回答并建议用户去咨询食物专家。
  • 上下文理解失误:在执行多轮对话时,用户常会对之前的对话内容进行追问,此时他们通常只会简洁地描述,如:“这个参数的默认值是多少?”但是,当我们在向量数据库中使用用户的原始问题进行语义相关内容的搜索时,往往无法得到有意义的答案。这样一来,即使将问题输入到 LLM,也无法根据官方文档给出正确的答案。
  • 语义搜索结果不精确:有时候,用户的问题非常明确,但是由于向量数据库搜索出的内容排序有误,导致在排名前N的答案中无法找到能正确回答问题的文档内容。
  • 文档信息不足或过时:有些情况下,尽管用户的问题表述得很清楚,但由于官方文档不够完整或过时,没有包含相关内容,导致 LLM 在回答时只能凭借猜测,因此,很多时候其给出的答案是错误的。

1.1 向量数据库补充专业知识

在用户发起一次对话时,系统会将用户的对话也输入到 Embedding 模型中生成向量,再将这个向量放到向量数据库中和原有的预料进行查询。

遇到的问题:用户的提问很清楚,但是向量数据库搜索出的 Top N 中无法看到对应的文档内容。 想要稳定地提升语义搜索的产出质量,其实有两个直接、有效、快速实现的方法:

  • 一、直接调整领域内容和提问之间的向量距离。
  • 二、在召回领域知识的内容之外,额外召回特定内容的示例。

解决:主要运用的是示例+训练 Embedding 模型的方法。

  • 第一步,先用类似 毒性检测的漏网之鱼 的方法,额外针对易错点补充示例,并将这些示例也随系统提示词一同提供给 LLM 模型,提高准确率。
  • 第二步,在示例积累到一定数量,将示例内容作为训练数据,去训练 Embedding 模型,让 Embedding 模型能更好地理解提问和领域知识之间的相似关系,产出更合适的向量数据结果。

1.2 毒性检验

1.2.1 毒性回答的预训练

LLM 会努力让其回答符合人类的价值观,这一工作在模型训练中叫做“对齐”(Align),让 LLM 拒绝回答仇恨、暴力相关的问题。如果 LLM 未按照设定回答了仇恨、暴力相关问题,我们就称之为检测出了毒性(Toxicity)。 对于我们即将创造的机器人,其毒性的范围实际上增加了,即,所有回答了非公司业务的内容都可以称之为存在毒性。

需要使用 Few-Shot 的方法去构建毒性检测的提示词,让 LLM 在拥有多个示例的情况下,判断用户的提问是否符合企业服务的范围。

<< EXAMPLES >>  
instruction: who is Lady Gaga? 
question: is the instruction out of scope (not related with TiDB)? 
answer: YES  

instruction: how to deploy a TiDB cluster? 
question: is the instruction out of scope (not related with TiDB)? 
answer: NO  

instruction: how to use TiDB Cloud? 
question: is the instruction out of scope (not related with TiDB)? 
answer: NO

得到了是否有毒的结果后,我们将有毒和无毒的流程分别处理,进行异常流程和正常流程的处理。

在这里插入图片描述

当系统发现产出的内容是 “Yes” 时,将流程引导进入毒性内容回复环节。此时,会将一个拒绝回答用户问题的系统提示词和用户对应的问题提交给 LLM,最终用户会得到一个拒绝回答的回复。

此时训练的数据是官方文档, 但是把所有的官方文档都一次性塞入 LLM 中是不现实的,因此我们设计了从向量数据库中按照语义相似度来搜索出相关的文档。

1.2.2 越狱(Jailbreaking)Prompt

用户在提问时可以输入 ‘Jailbreaking’ 的语句 这个现象可能由以下三个原因引起:

  • 用户的输入很长,比 System Prompt 长很多:一般 Jailbreaking 的语句都很长,远长于绝大部分的 System Prompt,因此模型可能会更倾向于关注更具体的用户请求,而忽略较为模糊的系统提示。
  • 模型的决策权重:GPT-3.5 及其他神经网络语言模型在生成回复时会根据输入文本的权重进行决策。如果 Jailbreaking 部分包含的信息比系统提示更具相关性,模型可能会更关注用户请求的内容。
  • 用户请求的位置:在进行对话式交互时,用户请求通常是在系统提示之后提供的。由于模型是逐词生成回复的,用户请求的信息在输入中出现得更晚,因此可能更影响最终的回复内容。 因此,仅在 System Prompt 中进行限制是不行的,依然会被人 Jailbreaking,这在 LLM 应用到商业产品中是一个极高风险的事情。

而我们采用的判断链避免了这一情况,仅根据上一个 LLM 输出的 Yes 或 No 来知道后续的输出。如果用户尝试 Jailbreaking,那么在进行判断的 LLM 中就会出现非定义的回答,系统可以设定在出现非定义内容时,委婉的拒绝用户的提问。

1.3 意图理解

让 LLM 在系统进行领域知识搜索前对用户的原始提问进行改写,尽可能地用一句话描述清楚用户的意图,这种操作被称为“修订问题”(revise question)。

理解流程:

  • 为了保证整个机器人系统中面对的用户问题保持一致,避免因为问题不一致导致的错误,我们将修订问题特性放在了系统信息流的最前面,让用户问题刚刚进入机器人就进行修订。
  • 修订时,机器人会要求 LLM 模型根据整体对话的上下文来用一句话描述用户提问的意图,尽可能补充详细信息。这样无论是在毒性检测还是在领域知识搜索中,系统都可以根据更具体的意图来执行。

如果在修订问题中发现了明显的错误怎么办?

事实上也可以利用 few shot + 语义搜索 的办法,特定的优化这些错误。

为了保证整个机器人系统中面对的用户问题保持一致,避免因为问题不一致导致的错误,我们将修订问题步骤放在了系统信息流的最前面,让用户的问题在进入机器人时就进行修订。

在修订问题的过程中,我们会要求 LLM 模型根据整体对话的上下文来用一句话描述用户提问的意图,尽可能补充详细信息。这样无论是在毒性检测还是在领域知识搜索中,系统都可以根据更具体的意图来执行。

如果在修订问题中发现了明显的错误,我们也可以利用 Few-Shot 和语义搜索的方法来优化这些错误。

1.4 持续运营 > 模型微调

“模型微调”指的是直接使用微调(fine-tuning)的方法使用更多的领域数据来训练模型,包括 Embedding 模型和 LLM 模型。 “持续运营”是指类似本文的做法,利用更多高质量的领域知识和示例,以及尝试与 LLM 进行多次交互,正向提升应用的准确性的做法。

在 TiDB Bot 的前期,我们更倾向于持续运营的方法,利用系统的方法来进行稳定、便宜、快速的正向优化,确保整个团队专注在业务问题上。也许在 TiDB Bot 发展到中后期时,可以考虑模型微调的方法来进行更多的优化。

大模型岗位需求

大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

-END-


👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
/>

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值