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

2024-05-10 08:36

本文主要是介绍InternLM-Chat-7B部署调用-个人记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、环境准备

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博客 

这篇关于InternLM-Chat-7B部署调用-个人记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975960

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys