Blenderbot:用于聊天机器人开发的卓越 AIML 模型

本文介绍Blenderbot 的安装、使用和应用——一种专门用于会话 AI 的预训练 AIML 模型,可以扩展到各种创新用例中。

Blenderbot:用于聊天机器人开发的卓越 AIML 模型
图片来自网络

介绍

在人工智能中,Blenderbot 属于会话代理类别。根据维基百科,会话代理或 CA 是一种旨在与人进行对话的计算机程序。换句话说,会话代理是自动化系统,通常由人工智能驱动旨在与人进行自然语言对话。

我们将讨论更多关于 Blenderbot 的内容,因为它是本文的基础。Facebook AI 开发的语言生成模型称为 Blenderbot。当给定特定上下文时,它能够清楚地表达自己并以自然语言(人类可读语言)进行有意义的对话。

例如,在被问到“世界上最大的国家是哪个国家?”这样的问题后,它可能会开始谈论俄罗斯。

世界上最大的国家是哪个?

回复

安装依赖项并导入 Blenderbot 模型

我们现在将安装运行 Blenderbot 所需的两个库。

以下代码以Python语言为例。

安装 Transformers

Hugging Face 将用于下载已经训练好的 Blenderbot 模型。

!pip install transformers

安装 PyTorch

因为 Torch 张量和 Blenderbot 是标记化的,所以我们将安装PyTorch深度学习库。

如果您想安装自己的 PyTorch 软件,可以访问PyTorch 网站并安装您的自定义版本。

!pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

导入模型

在这里,我们将导入并下载已经从 Hugging Face 中学习过的 Blenderbot 模型。

首先,我们将导入分词器和模型类。

from transformers import BlenderbotTokenizer, BlenderbotForConditionalGeneration

我们现在将安装和设置分词器和 Blenderbot 模型。

model_name = 'facebook/blenderbot-400M-distill'
tokenizer = BlenderbotTokenizer.from_pretrained(model_name)
model = BlenderbotForConditionalGeneration.from_pretrained(model_name)

上图中模型的名称是facebook/blenderbot-400M-distill;它以模型创建者的名字开头,在本例中为 Facebook,然后是模型的名称,即blenderbot-400M-distill.

在模型名称上,我们随后实例化了分词器和模型本身。

与模型聊天

通过我们的对话代理,我们现在将开始真正的讨论。

首先,我们将发布一个话语,这是一个用于与对话代理开始讨论的陈述(例如“嘿,谷歌”)。

utterance = "Hi Bot, My name is John. I am coming from India"

然后将话语转换为标记,以便模型可以对其进行处理。

inputs = tokenizer(utterance, return_tensors="pt")

在上面的示例中,我们将我们的语音标记化并将标记作为 PyTorch 张量传递,以便 Blenderbot 模型可以对其进行分析。

然后将生成我们的会话代理的答案结果。

result = model.generate(**inputs)

上面,我们给出了模型指令来生成对我们标记化语音的回复。

我们现在将我们的结果答案解码回人类可读的形式,因为你可能还记得,它仍然是 PyTorch 张量形式(自然语言)。

tokenizer.decode(result[0])

上面,我们给出了分词器指令来解码答案。

运行上述代码后,您可以查看代理的响应。

代理人的回应

结论

因为 Blenderderbot 与其他对话代理不同,它能够长期保持回复,而不像其他拥有金鱼大脑的代理,它能够根据提供的上下文进行对话,与自然人类语言高度相似。

因此,该模型会在其长期记忆中记录重要的对话信息,以便以后在可能持续数天、数周甚至数月的对话中使用这些信息。它与之交谈的每个人都将其知识分开保存,以防止在另一个讨论中重复使用任何新信息。

以下URL已将所有编程示例上传到 GitHub 存储库,以便您可以根据需要使用代码。

我希望现在您对 Blenderbot 库有了一个直观的了解,这些概念将帮助您构建一些真正有价值的项目。  

参考

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论