原文:
www.kdnuggets.com/2023/06/build-ai-chatbot-5-minutes-hugging-face-gradio.html
作者提供的图片
本短教程将使用 Microsoft DialoGPT 模型、Hugging Face Space 和 Gradio 界面构建一个简单的聊天机器人。你将能够使用类似的技术在 5 分钟内开发和自定义自己的应用程序。
1. Google 网络安全证书 - 快速进入网络安全职业生涯。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持你的组织 IT
-
访问 hf.co 并创建一个免费账户。之后,点击右上角的 显示图像 并选择“新建 Space”选项。
-
填写表单,包括应用程序名称、许可证、Space 硬件和可见性。
图片来源于 Space
-
点击“创建 Space”来初始化应用程序。
-
你可以克隆仓库并从本地系统推送文件,或者使用浏览器在 Hugging Face 上创建和编辑文件。
图片来源于 AI ChatBot
我们将点击“文件”选项卡 > + 添加文件 > 创建新文件。
图片来源于 kingabzpro/AI-ChatBot
创建一个 Gradio 界面。你可以复制我的代码。
图片来源于 app.py
我已经加载了“microsoft/DialoGPT-large”分词器和模型,并创建了一个 predict
函数来获取响应和创建历史记录。
from transformers import AutoModelForCausalLM, AutoTokenizer
import gradio as gr
import torch
title = "????AI ChatBot"
description = "A State-of-the-Art Large-scale Pretrained Response generation model (DialoGPT)"
examples = [["How are you?"]]
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-large")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-large")
def predict(input, history=[]):
# tokenize the new input sentence
new_user_input_ids = tokenizer.encode(
input + tokenizer.eos_token, return_tensors="pt"
)
# append the new user input tokens to the chat history
bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)
# generate a response
history = model.generate(
bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
).tolist()
# convert the tokens to text, and then split the responses into lines
response = tokenizer.decode(history[0]).split("<|endoftext|>")
# print('decoded_response-->>'+str(response))
response = [
(response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)
] # convert to tuples of list
# print('response-->>'+str(response))
return response, history
gr.Interface(
fn=predict,
title=title,
description=description,
examples=examples,
inputs=["text", "state"],
outputs=["chatbot", "state"],
theme="finlaymacklon/boxy_violet",
).launch()
此外,我为我的应用程序提供了一个自定义主题:boxy_violet。你可以浏览 Gradio 的 主题画廊来根据你的喜好选择主题。
现在,我们需要创建一个 requirement.txt
文件,并添加所需的 Python 包。
来自requirements.txt的图片
transformers
torch
之后,你的应用将开始构建,几分钟内,它会下载模型并加载模型推断。
Gradio 应用看起来很棒。我们只需为每种不同的模型架构创建一个 predict
函数,以获取响应并维护历史记录。
你现在可以在kingabzpro/AI-ChatBot上聊天和互动,或者使用 https://kingabzpro-ai-chatbot.hf.space 将你的应用嵌入到你的网站上。
你还感到困惑吗?在Spaces上查找数百个聊天机器人应用,以获取灵感并了解模型推断。
例如,如果你有一个经过“LLaMA-7B”微调的模型,搜索模型并向下滚动查看模型的各种实现。
来自decapoda-research/llama-7b-hf的图片
总之,这篇博客提供了一个快速而简单的教程,教你如何在 5 分钟内使用 Hugging Face 和 Gradio 创建 AI 聊天机器人。通过一步步的说明和可定制的选项,任何人都可以轻松创建自己的聊天机器人。
很有趣,希望你学到了些东西。请在评论区分享你的 Gradio 演示。如果你在寻找更简单的解决方案,查看一下 OpenChat: The Free & Simple Platform for Building Custom Chatbots in Minutes。
Abid Ali Awan (@1abidaliawan) 是一位认证的数据科学专业人士,热衷于构建机器学习模型。目前,他专注于内容创作,并撰写有关机器学习和数据科学技术的技术博客。Abid 拥有技术管理硕士学位和电信工程学士学位。他的愿景是利用图神经网络为面临心理健康困扰的学生开发 AI 产品。