只需5分钟,带你快速创建AI聊天机器人

本文将介绍使用Hugging Face和Gradio在5分钟内建立AI聊天机器人,通过这个简单易懂的教程,学习直接在浏览器中使用低代码技术创建Gradio聊天机器人。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

本简短教程将使用Microsoft DialoGPT模型、Hugging Face Space和Gradio接口建立一个简单的聊天机器人。使用类似的技术,你将可以在5分钟内开发和自定义自己的应用程序。

图片

1.创建新空间

  1. 前往hf.co并创建一个免费账户。然后,点击右上角的显示图像并选择“New Space”选项。

  2. 在表格中填写应用程序名称、许可证、空间硬件和可见性。

图片

图片来自Space

  1. 按“Create Space”以初始化该应用程序。

  2. 用户可以从本地系统克隆存储库并推送文件,也可以使用浏览器在Hugging Face上创建和编辑文件。

图片

图片来自AI ChatBot

2.创建ChatBot应用程序文件

我们将点击“Files”选项卡 > “+ Add file” > “Create a new file”。

图片

图片来自kingabzpro/AI-ChatBot

创建Gradio接口。你可以复制我的代码。

【Gradio】:https://www.gradio.app/

图片

图片来自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=[]):
    # 将新输入的句子进行分词
    new_user_input_ids = tokenizer.encode(
        input + tokenizer.eos_token, return_tensors="pt"
    )

    # 将新用户输入的令牌附加到聊天历史记录中
    bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)

    # 生成一个响应
    history = model.generate(
        bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
    ).tolist()

    # 将令牌转换为文本,然后将响应拆分为行
    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)
    ]  # 转换为列表的图元
    # 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主题库,根据自己的口味选择主题。

3.创建需求文件

现在,我们需要创建一个requirement.txt文件,并添加所需的Python包。

图片

图片来自requirements.txt

transformers
torch

之后,你的应用程序将开始建立,并在几分钟内下载模型并加载模型推理。

图片

4.Gradio演示

Gradio应用程序看起来很棒。我们只需要为每个不同的模型架构创建一个predict函数来获取响应并维护历史记录。

你现在可以在kingabzpro/AI-ChatBot上与应用程序进行聊天和交互,或者使用https://kingabzpro-ai-chatbot.hf.space将应用程序嵌入到你的网站中。

图片

图片来自kingabzpro/AI-ChatBot

可以在Spaces上寻找数百个聊天机器人应用程序,以获取灵感并了解模型推理。

例如,如果你有一个在“LLaMA-7B”上进行微调的模型,请搜索该模型并向下滚动以查看该模式的各种实现。

图片

图片来自decapoda-research/llama-7b-hf

总结

总之,本文提供了一个快速而简单的教程,介绍如何在短短5分钟内使用Hugging Face和Gradio创建AI聊天机器人。通过一步步的指导说明和可自定义的选项,任何人都可以轻松地创建自己的聊天机器人。

推荐书单

IT BOOK 多得(点击查看5折活动书单)icon-default.png?t=N7T8https://u.jd.com/psx2y1M

《智能聊天机器人:核心技术与算法》

随着人工智能技术的发展,人类对智能化服务更加渴望,聊天机器人成为研发热门之一。

《智能聊天机器人:核心技术与算法》从聊天机器人所涉及的多个方面出发,先理论后实践,让读者不仅能了解其中的原理,还能自己动手编程。

《智能聊天机器人:核心技术与算法》共9章,第1章以该领域的背景知识作为开篇,重点介绍了聊天系统中的主要模块;第2章阐述了语音识别和隐马尔可夫模型;第3章侧重于通用的自然语言处理技术;第4章讲解如何使用信息检索技术,来实现问答型的聊天系统;第5章介绍一些主流的机器学习算法,以及如何使用这些算法来提升基于信息检索的问答系统;第6章介绍推荐系统相关的知识以及常见的推荐算法,并将其应用到问答系统中;第7章介绍如何使用深度学习来优化问答系统;第8章讲述了聊天系统的前沿领域——知识图谱;第9章讨论任务型和闲聊型聊天系统中更有挑战性的几个课题。

《智能聊天机器人:核心技术与算法》可为高等院校计算机科学、信息科学、电子工程和人工智能等领域的科研人员提供参考,也可作为相关专业本科生和研究生教学的参考书,对于从事深度学习及其应用的开发人员同样具有参考价值。

《智能聊天机器人:核心技术与算法》icon-default.png?t=N7T8https://item.jd.com/13311032.html

图片

精彩回顾

《WebLLM项目:在浏览器中运行LLM聊天机器人》

《3个免费平台,打造个性化ChatGPT聊天机器人》

《使用Scikit-Learn,快速掌握机器学习预测方法》

《4步掌握“指令工程”,使用ChatGPT进行高效AI创作》

《手把手教你使用PyTorch搭建神经网络》

《GPT4ALL:终极开源大语言模型解决方案》

微信搜索关注《Python学研大本营》,加入读者群

访问【IT今日热榜】,发现每日技术热点

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值