正在为人工智能或全栈开发而苦恼?我们的专家将为您提供指导:量身定制的建议、技术整合等。联系我们 [email protected].

如何使用 GPT-4、ChatGPT、LLaMA 3 和 Mixtral 8x7b 等生成模型构建聊天机器人

随着人们对对话式人工智能的需求不断增长,对能够提供个性化、类人交互的先进聊天机器人技术的需求也在不断增长。近年来,GPT-4 和 ChatGPT 等生成模型,以及 LLaMA 3 和 Mixtral 8x7b 等开源替代模型,已成为构建聊天机器人的理想工具,这些聊天机器人能以前所未有的准确性和复杂性理解和响应自然语言输入。

在本文中,我们将探讨生成模型的基础知识以及如何将其用于构建聊天机器人。

聊天机器人和对话式人工智能

LLaMA 3 和 Mixtral 8x7b:ChatGPT 和 GPT-4 的开源替代品

ChatGPT 和 GPT-4 是 OpenAI 开发的两个高级语言模型。ChatGPT 是 "Chat Generative Pre-training Transformer(聊天生成预训练转换器)"的缩写,是一种大型语言模型,可以根据训练数据生成类人文本。它于 2022 年 11 月推出,因其能够以对话方式与用户互动,回答问题、提供信息和参与各种任务而迅速受到广泛关注。

GPT-4,即 "生成式预训练转换器 4",是 GPT-3 的后续版本,由 OpenAI 于 2023 年 3 月发布。它是人工智能语言模型领域的一次重大飞跃,与前代产品相比,体积更大,功能更强。GPT-4 能够在自然语言处理、计算机编程和创意写作等广泛领域生成高度详细和准确的文本。

ChatGPT 和 GPT-4 都是通过无监督学习在海量数据基础上进行训练的,因此能够非常准确、流畅地理解和生成人类语言。这些模型为开发对话式人工智能、内容生成以及客户服务、教育和娱乐等行业的其他各种应用提供了新的可能性。

此后不久,Meta 发布了 LLaMA 3,法国人工智能初创公司 Mistral AI 发布了 Mixtral 8x7b。这些生成模型是 ChatGPT 和 GPT-4 的开源替代品。如果您想构建高级聊天机器人,它们是非常好的选择。您可以在自己的服务器上部署 LLaMA 3 和 Mixtral,也可以通过 NLP Cloud API 轻松使用它们。

不过,所有这些生成式人工智能 LLM 都需要一些练习。首先是因为这些模型需要得到正确的提示,才能按照预期的方式运行。另外还因为它们是 "无状态 "的,也就是说,它们不会记录你的对话历史。

为聊天机器人使用正确的提示语

如果你天真地向这些模型发送请求,而不对上下文和格式稍加了解,你将会对响应感到失望。这是因为这些模型非常灵活。它们不仅可以帮助创建聊天机器人,还可以帮助创建许多其他应用,如问题解答、总结、转述、分类、实体提取、产品描述生成等等。因此,首先要做的就是告诉模型应该采用哪种 "模式"。

下面是一个您可以发送的请求示例:

This is a discussion between a [human] and an [ai]. 
The [ai] is very nice and empathetic.

[human]: I broke up with my girlfriend...
[robot]:
            

在这个例子中,你可以注意到两点。

首先,我们添加了一个简单的格式,以便让模型理解它处于对话模式: ([human], [ai], ...).

其次,我们在顶部添加了一些上下文,以帮助模型了解它正在做什么以及应该使用什么语气。:

为了简化这一过程,OpenAI 和 NLP Cloud 都提出了专门的聊天机器人 API 端点,为您处理格式化工作。

有时,仅有语境是不够的。例如,假设您想创建一个具有特定语气和特征的聊天机器人。在这种情况下,您需要对自己的生成模型进行微调。您可以在 OpenAI 和 NLP Cloud 上基于生成式人工智能微调自己的聊天机器人。

另一种情况是,您想创建一个聊天机器人来回答有关特定领域知识的问题。在这种情况下,微调并不是解决方案。您需要在语义搜索的基础上创建自己的检索增强生成(RAG)系统。 请点击此处查看我们关于 RAG 和语义搜索的专门文章。

为聊天机器人维护对话历史记录

生成式人工智能模型是 "无状态 "模型,也就是说,你提出的每一个请求都是新的,人工智能不会记住你之前提出的任何请求。

对于很多用例来说,这不是问题(总结、分类、转述......),但对于聊天机器人来说,这绝对是个问题,因为我们确实希望聊天机器人能记住讨论历史,以便做出更相关的回复。

例如,如果你告诉人工智能你是一名程序员,你希望它将其保存在内存中,因为这将对它接下来做出的反应产生影响。

实现这一目标的最佳方法是将每个人工智能响应存储到本地数据库中。例如,PostgreSQL 数据库支持长文本存储,而且效率非常高。

然后,每次向聊天机器人提出新请求时,您都应该执行以下操作:

这是一个多功能、强大的系统,只需很少的投入,就能完美利用 GPT-4、ChatGPT、LLaMA 3 和 Mixtral 等生成模型的强大功能。

需要注意的是,每个模型都有自己的上下文大小,这将决定你可以向历史记录传递多少文本。例如,GPT-4 的当前上下文大小为 8k 标记(即 7k 字左右),而 Mixtral 8x7b 在 NLP Cloud 上的当前上下文大小为 16k 标记(即 14k 字左右)。因此,如果你的对话历史超过了这个大小,你可能需要截断历史中最古老的部分,或者只保留讨论中最重要的部分。

聊天机器人的内容限制

OpenAI 对 ChatGPT 和 GPT-4 实施了内容限制,以确保人工智能生成的文本符合其指导方针。通过监控和管理聊天机器人生成的内容,OpenAI 旨在创造更加积极可靠的用户体验。这包括阻止对某些主题的信息请求,或只提供经过预先审查的、值得信赖的信息。

不过,有些人更喜欢使用没有这种限制的生成模型,并认为其响应质量更多样、更准确。LLaMA 3 和 Mixtral 8x7b 就没有这种限制。在使用此类人工智能模型时,开发者有责任负责任地使用人工智能。如果需要,还可以通过为聊天机器人创建正确的提示、微调自己的聊天机器人或在用户请求到达人工智能模型之前对其进行过滤来实现限制。

结论

生成式人工智能模型,如 GPT-4、ChatGPT、LLaMA 3 和 Mixtral 8x7b,真正将聊天机器人和对话式人工智能提升到了一个新的水平。这些先进的模型非常善于理解语境并加以调整。在大多数情况下,设置正确的上下文就足够了,但对于高级用例,最好的解决方案是训练/微调您自己的人工智能模型(这相当容易,因为这些模型需要非常小的数据集)。

在 NLP Cloud 上,您可以轻松试用 LLaMA 3 和 Mixtral 8x7b 等模型。您还可以对它们进行微调,并一键部署自己的私有生成式人工智能模型。 如果尚未完成,请免费试用 NLP Cloud。

如果您对如何实现自己的聊天机器人有任何疑问,请随时联系我们!

François
NLP Cloud 全栈工程师