当前位置: 首页 > article >正文

Gradio导入AIGC大模型创建web端智能体聊天机器人,python(2)

Gradio导入AIGC大模型创建web端智能体聊天机器人,python(2)

选用这个大模型:

https://huggingface.co/HuggingFaceTB/SmolLM-1.7B-Instructicon-default.png?t=O83Ahttps://huggingface.co/HuggingFaceTB/SmolLM-1.7B-Instruct原因是该模型相对比较小(3~4GB),不必下载太多太大的模型文件(效果好些的大模型动辄几十GB甚至上百GB,参数多嘛),仅作跑通Gradio结合大模型制作聊天机器人示例。

import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer

checkpoint = "HuggingFaceTB/SmolLM-1.7B-Instruct"
device = "cpu"  # "cpu" for CPU usage, "gpu" for GPU usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)


def my_response(message, history):
    msgs = [{"role": "user", "content": message}]
    input_text = tokenizer.apply_chat_template(msgs, tokenize=False)

    print(input_text)

    inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
    outputs = model.generate(inputs, max_new_tokens=50, temperature=0.2, top_p=0.9, do_sample=True)

    result = tokenizer.decode(outputs[0])

    print(result)
    return result


def mychat():
    gr.ChatInterface(my_response).launch()


if __name__ == '__main__':
    mychat()

运行后,输出: Running on local URL:  http://127.0.0.1:7860

直接打开  http://127.0.0.1:7860

提问:

AIGC大模型回答:

Gradio快速部署构建AIGC的web应用 ,python-CSDN博客文章浏览阅读873次,点赞23次,收藏9次。webui-user.bat启动stable-diffusion-webui报错:RuntimeError: Torch is not able to use GPU,AIGC,Python。webui-user.bat启动stable-diffusion-webui报错:RuntimeError: Torch is not able to use GPU,AIGC,Python-CSDN博客。2、设置 - 系统 - 可选功能 - 更多Windows功能 - 启用或关闭Windows功能。https://blog.csdn.net/zhangphil/article/details/141999273


http://www.kler.cn/a/308940.html

相关文章:

  • DIP switch是什么?
  • 【CVPR2024】2024年CVPR的3D 目标检测的综述(还在补充中)
  • Llama架构及代码详解
  • 标准C++ 字符串
  • 性能测试|JMeter接口与性能测试项目
  • 详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
  • Matlab simulink建模与仿真 第十三章(信号通路库)
  • TinyML-On-The-Fly: 实时、低功耗、低成本的微控制器嵌入式设备内计算机视觉技术用于无人机图像分类
  • AtCoder ABC370 A-D题解
  • 传知代码-KAN卷积:医学图像分割新前沿
  • 使用Pydantic模型和LangChain构建高效查询过滤器
  • 为什么在 JSON 序列化中不使用 transient
  • 复变函数论重大错误:将无穷多各异平面误为同一面
  • bev pool 原理及代码讲解
  • 通信工程学习:什么是AN-SMF接入网系统管理功能
  • jacoco生成单元测试覆盖率报告
  • 使用vant UI实现时间段选择
  • Linux系统终端中文件权限的10位字符是什么意思
  • 工厂模式 vs 简单工厂:解耦与扩展性的比较
  • React js Router 路由 2, (把写过的几个 app 组合起来)
  • 如何在 CentOS 上安装和使用 Neofetch(图文教程)
  • Java 技巧 如何在IDEA2024 中快速打出System.out.println();
  • (185)时序收敛--->(35)时序收敛三五
  • 【黑马点评】已解决java.lang.NullPointerException异常
  • Linux系统应用之知识补充——OpenEuler(欧拉)的安装和基础配置
  • goctl安装失败