InternLM-Chat-7B部署调用-个人记录

ops/2024/10/19 5:28:39/

一、环境准备

pip install modelscope==1.9.5
pip install transformers==4.35.2

二、下载模型

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-chat-7b', cache_dir='/home/bingxing2/ailab/group/ai4agr/wzf/LLM/models', revision='master')

使用modelscope(魔塔社区)中的snapshot_download函数下载模型,第一个参数为模型名称,参数cache_dir为模型的下载路径。

三、终端运行模型

新建一个 demo.py 文件,将以下代码填入其中,之后直接使用python命令执行脚本:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM# 指定模型路径
model_name_or_path = "/home/bingxing2/ailab/group/ai4agr/wzf/LLM/models/InternLM-Chat-7B/Shanghai_AI_Laboratory/internlm-chat-7b"# 加载预训练分词器和模型
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='auto')
model.eval()print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")while True:input_text = input("User  >>> ")if input_text == "exit":break# 使用模型生成响应inputs = tokenizer.encode(input_text, return_tensors="pt")outputs = model.generate(inputs, max_length=50, pad_token_id=tokenizer.eos_token_id)response = tokenizer.decode(outputs[0], skip_special_tokens=True)print(f"Robot >>> {response}")

 运行样例(反应很慢):

四、web端运行

1.克隆代码  

git clone https://gitee.com/internlm/InternLM.git

克隆好项目后需要进入/InternLM/web_demo.py中,将其中的29和33行的模型替换为本地模型路径。例如/root/model/Shanghai_AI_Laboratory/internlm-chat-7b

2.web demo运行

streamlit run /InternLM/web_demo.py --server.address 127.0.0.1 --server.port 6006

3.将端口映射到本地。

进入InternStudio控制台 ,需要邀请码,暂时不写了,搞到了再接着写。请参考实操作业:基于浦语大模型InternLM-Chat-7B 对话、智能体工具调用、图文创作等场景部署实操步骤-CSDN博客

参考:

【InternLM】书生-浦语大模型demo搭建&服务接口部署&本地映射_书生浦语部署-CSDN博客

实操作业:基于浦语大模型InternLM-Chat-7B 对话、智能体工具调用、图文创作等场景部署实操步骤-CSDN博客

大模型实战营第二期——2. 浦语大模型趣味Demo_internlm-chat-7b什么量级-CSDN博客 


http://www.ppmy.cn/ops/38629.html

相关文章

附录C:招聘流程

< 回到目录 附录C&#xff1a;招聘流程 _xxx_公司的招聘 使命 只雇佣顶级人才。 他们是能够胜任工作&#xff0c;并与 _&#xff08;你的公司名称&#xff09;_ 的企业文化相匹配的超级明星。 方法 记分卡。招聘经理创建一份文件&#xff0c;详细描述此职位的工作内容…

SpringBoot+logback实现日志记录写入文件

前言 在实际的开发过程中&#xff0c;日志记录有着极其重要的作用&#xff0c;它帮助我们实现更高效的故障排查与调试、更及时的监控和性能优化、更全面的业务分析与决策支持…那么我们如何在SpringBoot项目中实现日志的个性化定制&#xff0c;以满足其他特殊需求呢&#xff1f…

win11安装SQL Server 2012 企业版

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、硬件要求二、软件安装参考&#xff1…

Taro 快速开始

大家好我是苏麟 , 今天聊聊Trao. 官网 : Taro 介绍 | Taro 文档 (jd.com) 点击快速开始 全局安装 CLI 初始化一个项目 选择配置 : 根据自己需求选择 安装失败先不用管 , 用前端工具打开项目 npm install 安装 , 显示安装失败 怎么解决 ? : 查看报错信息 百度 , 问 AI 工具 运…

Ali-Sentinel-Spring WebMVC 流控

归档 GitHub: Ali-Sentinel-Spring WebMVC 流控 测试 模块&#xff1a;sentinel-dashboard 先启动 DashboardApplication访问 http://localhost:8080/#/dashboard 登录&#xff1a;sentinel / sentinel 模块&#xff1a;sentinel-demo-spring-webmvc 在 WebMvcDemoApplicat…

SQL STRING_SPLIT函数,将指定的分隔符将字符串拆分为子字符串行

文章目录 STRING_SPLIT (Transact-SQL)1、语法2、参数3、样例样例1样例2 STRING_SPLIT (Transact-SQL) STRING_SPLIT 是一个表值函数&#xff0c;它根据指定的分隔符将字符串拆分为子字符串行。 1、语法 STRING_SPLIT ( string , separator [ , enable_ordinal ] ) 2、参数…

某度假村培训体系搭建项目成功案例纪实

——建立分层分类的培训体系&#xff0c;引入场景化培训&#xff0c;确保培训落到实处 【客户行业】文旅行业、酒店行业、文旅企业、度假村 【问题类型】培训体系搭建 【客户背景】 某度假村是一家集住宿、娱乐、健身等服务为一体的综合服务场所&#xff0c;度假村内部环境…

Linux(centos)安装 MySQL 8 数据库(图文详细教程)

前言 前几天写了个window系统下安装Mysql的博客&#xff0c;收到很多小伙伴私信需要Linux下安装Mysql的教程&#xff0c;今天这边和大家分享一下&#xff0c;话不多说&#xff0c;看教程。 一、删除以前安装的MySQL服务 一般安装程序第一步都需要清除之前的安装痕迹&#xff…