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

相关文章

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.