Chatbot + 知识库(Knowledge Base)

从 GPT-3 和 ChatGPT 等大型语言模型 (LLM) 的最新进展中可以看出,在技术行业引起了很大的关注。这些模型对内容生成非常强大,但它们也有一些缺点,例如偏差1 和幻象2。LLM在聊天机器人开发方面特别有用。

基于意图的聊天机器人​

传统聊天机器人通常是基于意图的,这意味着它们被设计为响应特定的用户意图。每个意图由一组样本问题和相应的响应组成。例如,“天气”意图可能包括类似“今天天气如何?”或“今天会下雨吗?”这样的样本问题,并且可能输出“今天将是晴天”的响应。当用户提出问题时,聊天机器人将其与最相似的样本问题匹配意图,并返回相应的响应。

然而,基于意图的聊天机器人也有自己的问题。其中一个问题是,它们需要大量特定的意图才能给出特定的答案。例如,用户说“我无法登录”、“我忘记了密码”或“登录错误”等话语可能需要三个不同的答案和三个不同的意图,尽管它们都非常相似。

GPT-3如何帮助​

这就是GPT-3可以发挥的特别用处。每个意图可以更广泛,利用您的知识库文档。知识库 Knowledge Base 是存储为结构化和非结构化数据的信息,可用于分析或推断。您的知识库可能由一系列文档组成,解释如何使用您的产品。

因此,每个意图与文档相关联,而不是一组问题和特定答案,例如,一个“登录问题”的意图,一个“如何订阅”的意图等等。当用户询问有关登录的问题时,我们可以将“登录问题”文档传递给 GPT-3 作为上下文信息,并为用户的问题生成特定的响应。

这种方法减少了需要处理的意图数量,并允许更好地适应每个问题的答案。此外,如果与意图关联的文档描述了不同的流程(例如“在网站上登录”的流程和“在移动应用程序上登录”的流程),GPT-3可以在给出最终答案之前自动询问用户以获得更多的上下文信息。 

为什么不能将整个知识库传递给GPT-3?​

今天,像GPT-3这样的LLM模型的最大提示的长度约为4k令牌(对于text-davinci-003模型),也就是2048个汉字,这很多,但不足以将整个知识库馈入单个提示中。 LLM由于计算原因具有最大提示的限制,因为使用它们生成文本涉及多个计算,随着提示大小的增加,计算量也会迅速增加。

未来的LLM可能不会有这种限制,同时保留文本生成能力。然而,就目前而言,我们需要一个设计解决方案来解决这个问题。

如何使用GPT-3构建一个聊天机器人​

聊天机器人的流程可以分为以下两个步骤:

首先,我们需要为用户的问题选择适当的意图,即我们需要从知识库中检索正确的文档。 然后,一旦我们有了正确的文档,我们就可以利用GPT-3为用户生成适当的答案。在这样做的过程中,我们需要精心制作一个良好的提示。

第一步可以使用语义搜索semantic search解决。我们可以使用sentence-transformers库中的预训练模型,轻松地为每个文档分配一个分数。分数最高的文档将用于生成聊天机器人答案。

使用 GPT-3 生成答案​

一旦我们有了正确的文档,我们需要创建一个好的提示,以便将其用于GPT-3生成答案。在以下实验中,我们将始终使用temperature为0.7的text-davinci-003模型。

为了制作提示,我们将尝试使用以下内容

  • 角色提示: 一种启发式技术,为AI分配特定的角色。
  • 相关的知识库信息, 即在语义搜索步骤中检索到的文档。
  • 用户和聊天机器人之间最后一次交换的消息. 这对于用户发送的未指定整个上下文的消息非常有用。我们将在后面的例子中看到它。请查看此示例 了解如何使用GPT-3管理对话。
  • 最后, 用户的问题.

让我们使用角色提示技术开始我们的提示。

As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.

然后,假设语义搜索步骤从我们的知识库中提取了以下文档。所有文档都描述了类似于Instagram的虚构产品VideoGram的工作方式,但仅用于视频。

我们可以在提示中这样添加它的内容。

As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.START CONTEXT
Login to VideoGram from Website
1. Open your web browser and go to the VideoGram website.
2. Click on the “Login” button located in the top right corner of the page.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, click on the “Login” button.
5. You should now be logged in to your VideoGram account.Login to VideoGram from Mobile App
1. Open the VideoGram app on your mobile device.
2. On the main page, tap the “Login” button located in the bottom right corner.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, tap the “Login” button.
5. You should now be logged in to your VideoGram account.
END CONTEXT

最后,我们需要将对话和用户问题添加到提示的末尾,就像以下示例中那样。

As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.START CONTEXT
Login to VideoGram from Website
1. Open your web browser and go to the VideoGram website.
2. Click on the “Login” button located in the top right corner of the page.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, click on the “Login” button.
5. You should now be logged in to your VideoGram account.Login to VideoGram from Mobile App
1. Open the VideoGram app on your mobile device.
2. On the main page, tap the “Login” button located in the bottom right corner.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, tap the “Login” button.
5. You should now be logged in to your VideoGram account.
END CONTEXTSKIPPY: Hello, I’m Skippy! How can I help you?
USER: I can’t find the login button.
SKIPPY:

将此提示传递给GPT-3,我得到了以下生成的答案。

No problem! On the website, the login button is located in the top right corner of the page. On the mobile app, the login button is located in the bottom right corner. Let me know if you need any further assistance!

请注意,生成的答案中的信息来自知识库文档。

用GPT-3消歧用户问题​

我们来试试更模糊的用户输入,比如“无法登录”。这是完整的提示。

As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.START CONTEXT
Login to VideoGram from Website
1. Open your web browser and go to the VideoGram website.
2. Click on the “Login” button located in the top right corner of the page.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, click on the “Login” button.
5. You should now be logged in to your VideoGram account.Login to VideoGram from Mobile App
1. Open the VideoGram app on your mobile device.
2. On the main page, tap the “Login” button located in the bottom right corner.
3. On the login page, enter your VideoGram username and password.
4. Once you have entered your credentials, tap the “Login” button.
5. You should now be logged in to your VideoGram account.
END CONTEXTSKIPPY: Hello, I’m Skippy! How can I help you?
USER: Can’t login
SKIPPY:

GPT-3试图更好地理解用户的问题,给出了以下回答。

I’m sorry to hear that. Can you tell me if you are trying to login via the VideoGram website or mobile app?

接下来,这是完整的对话内容。为了方便查看,这里省略了提示的其他部分。

USER: Can’t login
SKIPPY: I’m sorry to hear that. Can you tell me if you are trying to login via the VideoGram website or mobile app?
USER: Mobile app
SKIPPY: OK, no problem. To login via the mobile app, open the VideoGram app on your mobile device. On the main page, tap the “Login” button located in the bottom right corner. On the login page, enter your VideoGram username and password. Once you have entered your credentials, tap the “Login” button. You should now be logged in to your VideoGram account. Please let me know if you need any further assistance.

只要有正确的上下文信息,GPT-3就可以进行消歧义。

使用GPT-3生成答案时可能出现的问题​

前面的例子都很正常运行。然而,这种聊天机器人可能会失败的几种方式。

如果我们询问“Is the mobile app free?”,将登录文档作为上下文传递给GPT-3,你通常会得到一个答案,比如“Yes, the VideoGram mobile app is free to download and use”,即使这样的信息并没有包含在上下文信息中。生成虚假信息对于客户服务聊天机器人来说非常可怕!

当用户问题可以在上下文中找到答案时,GPT-3很少生成虚假信息。由于用户问题通常是短小模糊的文本,我们不能总是依赖语义搜索步骤来检索正确的文档,因此我们总是容易受到虚假信息生成的影响。

结论​

GPT-3非常适用于创建对话式聊天机器人,并能够根据插入的上下文信息回答一系列具体问题。然而,仅依靠上下文信息使模型产生答案很困难,因为模型往往会产生幻象(hallucination)(即生成新信息,可能是错误的)。生成虚假信息是一个不同严重程度的问题,这取决于使用情况。

相关论文

  1. Nadeem, M., Bethke, A., & Reddy, S. (2021). StereoSet: Measuring stereotypical bias in pretrained language models. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), 5356–5371. https://doi.org/10.18653/v1/2021.acl-long.416 ↩
  2. Ji, Z., Lee, N., Frieske, R., Yu, T., Su, D., Xu, Y., Ishii, E., Bang, Y., Madotto, A., & Fung, P. (2022). Survey of Hallucination in Natural Language Generation. ACM Computing Surveys. https://doi.org/10.1145/3571730 ↩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30853.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Chatbot UI 实现ChatGPT对话-V1.3

基于Chatbot UI 实现ChatGPT对话-V1.3 前端基于开源项目:chatbot-ui进行二次开发,感兴趣的小伙伴可以自行研究。 本项目搭建初衷: 1、在无法科学上网的情况下,实现ChatGPT对话。 2、规避官方聊天时,长时间无链接导致…

从B 树、B+ 树、B* 树谈到R 树

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 40 分钟。 来自:blog.csdn.net/v_JULY_v/article/details/6530142 第一节、B树、B树、B*树 前言 动态查找树主要有:二叉查找树(Binary Search Tree)&#x…

NLP大模型微调原理

1. 背景 LLM (Large Language Model) 大型语言模型,旨在理解和生成人类语言,需要在大量的文本数据上进行训练。一般基于Transformer结构,拥有Billion以上级别的参数量。比如GPT-3(175B),PaLM(560B)。 NLP界发生三件大事&#xff…

淘宝开店流程图解

原文: 淘宝开店流程图解 链接: http://hyp5920.blog.163.com/blog/static/50951573201310194550775/ 2013-11-01 23:53:31| 分类:知识乐园 | 标签:天天淘淘美装 |字号 订阅 淘宝开店是很简单的。只要拿身份证开通网银&…

从软件开发到开淘宝店铺

2019独角兽企业重金招聘Python工程师标准>>> 我的店铺 背景: 最近思索 这个时代 不可能一辈子敲代码【可能学习能力跟不上 可能给的待遇自己不满意】 但是可以一辈子开店铺看到越来越多的人习惯在网上购物 越来越多的人在网上赚钱 我为什么就不能利用工…

淘宝店铺wang

简约型 1、蒙马特 🔗:57啊可的大了有家对小起然了, https://m.tb.cn/h.fBSsV3Z?smde76a8 CZ3457 我分享给你了一个超赞的内容,快来看看吧 2、WASSUP中国 🔗:27哈个一么中有家对然和生子微 https://m…

弘辽科技:新手开淘宝网店的七大攻略

原标题《弘辽科技:新手开淘宝网店的七大攻略》 伴随着计算机信息化技术的发展,互联网经济欣欣向荣,电子商务的发展也越加的繁荣。自从淘宝店上线之后,受到了很多朋友们的喜欢,因为它改变了人们的生活方式,…

简单三步,教你快速接入淘宝开放平台,调用官方API

淘宝开放平台是为了方便开发者接入淘宝平台,进行商品、订单等信息的管理和交互而设计的。接入淘宝开放平台需要经过一系列审核和申请流程,而在API权限包审核时,一定要提供真实有效的证件和资料,并满足相应的条件,才能顺…

自制树莓派PICO RP2040开发板+例程(I2C读取LM75和AHT20 温度数据)

1.原理图 2.PCB 晶振的焊盘有点大,怕和外壳短路,找了个东西垫高了下 来自嘉立创免费打样PCB 3.焊接完成 这颗QFN封装芯片比较考验焊接功底,手残的不建议自己弄。 4.代码实现 参考https://pico.org.cn/ 1.main.py from machine impor…

chatgpt赋能python:Python的GUI界面开发

Python的GUI界面开发 Python是目前非常流行的编程语言之一,其优雅的语法和强大的库使其在各个领域得到广泛应用。在GUI界面开发方面,Python也表现出了巨大的潜力。本文将介绍Python的GUI开发框架以及相关的工具和技术。 介绍 Python有多个GUI框架可供…

LangGPT —— 让人人都能编写高质量 Prompt

要用好现有大模型的能力严重依赖高质量 prompt, 然而编写高质量 prompt 在现阶段还是个手艺活,太依赖个人经验。 虽然也有许多个人自发分享的 prompt 方法、框架,以及吴恩达老师的 prompt 教程,但是现有 Prompt 创建方法还是有各…

如何让网页显示友好的错误信息页面

大多数用户看到”该页无法显示",”服务器内部错误"等默认错误提示信息会立马关闭浏览器窗口,我们为什么不能自定义一下呢?让用户从错误信息中得到真正的帮助? 错误信息的页面应该做到以下几点: 1.给普通访客友好提示。告诉他们这是怎么了&…

Anthropic 推出 “更理性的 Claude”,正面硬刚 ChatGPT

Anthropic 是一家由前 OpenAI 团队成员创立的初创公司,最近它推出了一款名为 Claude 的 AI 聊天机器人,将其作为 ChatGPT 的竞争对手。 与 ChatGPT 类似,Claude 能够执行各种基于文字对话的任务,如文档搜索、摘要、写作、编码&…

Xavier agx使用指南汇总

xavier系统架构讲解: Xaiver是arm64平台,与x86平台pc机构完全不通用的 Xavier接口 介绍: https://blog.csdn.net/enlaihe/article/details/119751074?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~defaul…

不用魔法,快速、手摸手上线Midjourney!【附源码】【示例】

首先来一波感谢: 感谢laf提供赞助,目前可以免费使用Midjourney进行开发和测试。 感谢白夜、米开朗基杨sealos.io的耐心解答,让我对laf有了更多的使用与了解。 什么是laf?来了解下。 文末有【示例】 开始 废话不多说,…

国外大神竟用 ChatGPT 成功打造了一个「虚拟空间传送」系统!

相信大家小时候躺在床上,都曾设想过这么一个场景: 当你闭上眼睛时,感觉身心十分安宁,物理世界慢慢淡出,身体也随着变得飘逸,一切仿佛只剩下呼吸声和心跳声。 一阵微风拂过,你缓缓睁开双眼&#…

国外大神用 ChatGPT 成功打造一个「虚拟空间传送」系统!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 相信大家小时候躺在床上,都曾设想过这么一个场景: 当你闭上眼睛时,感觉身心十分安宁,物理世界慢慢淡出,身体也随着变得飘逸&…

基于认知神经科学的大模型【2023智源大会会议总结】

1. ChatGPT不能做什么? 刘嘉|清华大学脑与智能实验室首席研究员 1.1 演讲内容 图1.1 Sam Altman的签名 图1.2 大模型模仿理性部分、忽略感性部分 图1.3 未来可以为AI加入身体 图1.4 未来为AI赋予社交 图1.5 AGI的演化 1.2 总结 演讲目标:ChatGPT具有很多功…

用数据带你回顾乔丹的职业生涯

乔丹是联盟上下公认的历史第一人,芝加哥公牛在他带领下几乎统治了上世纪90年代NBA整整10年,包括分别在91-93赛季和96-98赛季拿下的两次三连冠,要知道,NBA72年历史上一共只出现过4次三连冠,而乔帮主一人便承包一半。下面…

NBA著名球星介绍

NBA著名球星介绍 迈克尔乔丹 毋庸置疑的篮球之神,六次总冠军,五次常规赛MVP,14次入选全明星他所取得的荣誉是其他任何NBA球员都无法比拟的,甚至从某种程度上说,乔丹代表这篮球这项运动,代表着在这项运动里所…