当前位置: 首页> 财经> 股票 > 上海工程造价咨询公司_减粘装置设备设计要点_地推项目发布平台_郑州网站优化哪家好

上海工程造价咨询公司_减粘装置设备设计要点_地推项目发布平台_郑州网站优化哪家好

时间:2025/7/14 10:05:35来源:https://blog.csdn.net/weixin_39797176/article/details/143518284 浏览次数:0次
上海工程造价咨询公司_减粘装置设备设计要点_地推项目发布平台_郑州网站优化哪家好

大模型系列文章

本地电脑离线部署大模型
配置:MAC-M1-8GB


10min本地安装Qwen1.5-0.5B-Chat

  • 大模型系列文章
  • 前言
  • 一、下载Qwen1.5-0.5B-Chat
  • 二、构造函数chatBot.py
  • 三、启动命令
    • 1、放置脚本
    • 2、启动命令
    • 3、效果图


前言

在人工智能领域,大模型无疑是最炙手可热的话题。之前曾尝试使用阿里云的服务器来部署和学习ChatGLM-6B,并试图在本地电脑上进行部署,但由于内存限制,处理一个问题需要耗费几分钟的时间。在探索了多个开源的大模型后,发现Qwen1.5-0.5B-Chat可以在本地进行部署,尽管其响应速度相对较慢,大约在10秒左右,但已经是一个可行的选择。接下来,计划基于这个本地模型,进一步探索大模型的应用与发展。


一、下载Qwen1.5-0.5B-Chat

git clone https://www.modelscope.cn/qwen/Qwen1.5-0.5B-Chat.git

二、构造函数chatBot.py

# 导入所需的库
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
import torch
import streamlit as st# 在侧边栏中创建一个标题和一个链接
with st.sidebar:st.markdown("## Qwen1.5 LLM")"[开源大模型食用指南 self-llm](https://github.com/datawhalechina/self-llm.git)"# 创建一个滑块,用于选择最大长度,范围在0到1024之间,默认值为512max_length = st.slider("max_length", 0, 1024, 512, step=1)# 创建一个标题和一个副标题
st.title("💬 Qwen1.5 Chatbot")
st.caption("🚀 A streamlit chatbot powered by Self-LLM")# 定义模型路径
mode_name_or_path = '/mnt/workspace/20241105/Qwen1.5-0.5B-Chat'device = "cpu"# 定义一个函数,用于获取模型和tokenizer
@st.cache_resource
def get_model():# 从预训练的模型中获取tokenizertokenizer = AutoTokenizer.from_pretrained(mode_name_or_path, use_fast=False)# 从预训练的模型中获取模型,并设置模型参数model = AutoModelForCausalLM.from_pretrained(mode_name_or_path, torch_dtype=torch.bfloat16,  device_map="auto").to(device)return tokenizer, model# 加载Qwen1.5-4B-Chat的model和tokenizer
tokenizer, model = get_model()# 如果session_state中没有"messages",则创建一个包含默认消息的列表
if "messages" not in st.session_state:st.session_state["messages"] = [{"role": "assistant", "content": "有什么可以帮您的?"}]# 遍历session_state中的所有消息,并显示在聊天界面上
for msg in st.session_state.messages:st.chat_message(msg["role"]).write(msg["content"])# 如果用户在聊天输入框中输入了内容,则执行以下操作
if prompt := st.chat_input():# 将用户的输入添加到session_state中的messages列表中st.session_state.messages.append({"role": "user", "content": prompt})# 在聊天界面上显示用户的输入st.chat_message("user").write(prompt)# 构建输入     input_ids = tokenizer.apply_chat_template(st.session_state.messages,tokenize=False,add_generation_prompt=True)#model_inputs = tokenizer([input_ids], return_tensors="pt").to('cuda')#model_inputs = tokenizer([input_ids], return_tensors="pt").to('cpu')model_inputs = tokenizer([input_ids], return_tensors="pt").to(device)#generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=512)generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=256)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]# 将模型的输出添加到session_state中的messages列表中st.session_state.messages.append({"role": "assistant", "content": response})# 在聊天界面上显示模型的输出st.chat_message("assistant").write(response)

三、启动命令

1、放置脚本

可以把chatBot.py与下载下来的Qwen1.5-0.5B-Chat放置在一个目录下,方便调用
在这里插入图片描述

2、启动命令

streamlit run chatBot.py --server.address 127.0.0.1 --server.port 6006

3、效果图

在这里插入图片描述

关键字:上海工程造价咨询公司_减粘装置设备设计要点_地推项目发布平台_郑州网站优化哪家好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: