书生·浦语 demo1

部署 InternLM2-Chat-1.8B 模型进行智能对话

环境配置

进入开发机后,在 terminal 中输入环境配置命令

studio-conda -o internlm-base -t demo

上面命令执行完后,conda会多一个虚拟环境
在这里插入图片描述
使用conda activate demo切换环境后,继续后面操作

安装环境依赖包

执行下面命令安装环境依赖包

pip install huggingface-hub==0.17.3
pip install transformers==4.34 
pip install psutil==5.9.8
pip install accelerate==0.24.1
pip install streamlit==1.32.2 
pip install matplotlib==3.8.3 
pip install modelscope==1.9.5
pip install sentencepiece==0.1.99

使用 pip list 查看是否安装好
在这里插入图片描述

下载 InternLM2-Chat-1.8B 模型

按路径创建文件夹,并进入到对应文件目录中:

mkdir -p /root/demo
touch /root/demo/cli_demo.py
touch /root/demo/download_mini.py

通过左侧文件夹栏目,双击进入 demo 文件夹。

import os
from modelscope.hub.snapshot_download import snapshot_download# 创建保存模型目录
os.system("mkdir /root/models")# save_dir是模型保存到本地的目录
save_dir="/root/models"snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b", cache_dir=save_dir, revision='v1.1.0')

执行命令,下载模型参数文件:

python /root/demo/download_mini.py

或者直接通过vscode执行,

  1. 点击左下角的select interpret
  2. 选择创建的demo虚拟环境
  3. 点击右上角的执行按钮

在这里插入图片描述
下载过程
在这里插入图片描述

运行 cli_demo

双击打开 /root/demo/cli_demo.py 文件,复制以下代码:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""messages = [(system_prompt, '')]print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")while True:input_text = input("\nUser  >>> ")input_text = input_text.replace(' ', '')if input_text == "exit":breaklength = 0for response, _ in model.stream_chat(tokenizer, input_text, messages):if response is not None:print(response[length:], flush=True, end="")length = len(response)

输入命令,执行 Demo 程序:

conda activate demo
python /root/demo/cli_demo.py

在这里插入图片描述

实战:部署实战营优秀作品 八戒-Chat-1.8B 模型

下载模型

使用 git 命令来获得仓库内的 Demo 文件:

cd /root/
git clone https://gitee.com/InternLM/Tutorial -b camp2
# git clone https://github.com/InternLM/Tutorial -b camp2
cd /root/Tutorial

在这里插入图片描述

下载运行 Chat-八戒 Demo

使用conda activate demo切换环境后,在 Web IDE 中执行 bajie_download.py:

python /root/Tutorial/helloworld/bajie_download.py

待程序下载完成后,输入运行命令:

streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006

在这里插入图片描述
待程序运行的同时,对端口环境配置本地 PowerShell 。使用快捷键组合 Windows + R(Windows 即开始菜单键)打开指令界面,并输入命令,按下回车键。
最好提前配置好ssh,可以免密码登录
在这里插入图片描述

ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p  38455 

在这里插入图片描述
打开 http://127.0.0.1:6006 后,等待加载完成即可进行对话,键入内容示例如下:

你好,请自我介绍

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/584148.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++项目——集群聊天服务器项目(十一)服务器异常退出与添加好友业务

本节来实现C集群聊天服务器项目中的服务器异常退出与添加好友业务,一起来试试吧 一、服务器异常退出 在Linux环境下,我们在服务器端使用CTRLC结束程序执行,即使用CTRLC让服务器异常退出,这样的后果是本应登录服务器的用户在数据库…

org.junit.runners.model.InvalidTestClassError:1. No runnable methods

你们好,我是金金金。 场景 很简单的一个测试方法 我的boot版本:2.7.18 依赖 报错信息 排查 看报错信息提示无效的测试类,没有可运行的方法 看了下依赖信息,引入spring-boot-starter-test依赖也自动的引入了juni5依赖&#xff0…

递归究竟是什么?如何快速编写正确的递归代码? —— 力扣经典面试题详解

递归究竟是什么?如何快速编写正确的递归代码? —— 力扣经典面试题详解 一、递归1.1 什么是递归?1.2 为什么会用到递归?1.3 如何快速编写正确的递归代码? 二、力扣相关笔试题解析[面试题 08.06. 汉诺塔问题](https://l…

本地运行github上下载的项目--接Git入门篇

1.了解项目 这是一个基于Spring Boot 和 Mybatis Plus 构建的Java项目,很经典的外卖项目,参考b站的黑马瑞吉外卖。 2.构建项目 SpringBoot项目,首先下载一些常见的项目要求的组件。然后配置如下: 看README,在阅读该…

mongodb sharding分片模式的集群数据库,日志治理缺失导致写入数据库报错MongoWriteConcernException的问题总结(下)

一、接着上文 上文介绍了mongodb sharding的分片集群搭建,本文侧重于讲述日志治理。 这里使用linux自带的日志治理工具logrotate,无论是哪个端口的进程,其日志治理方式类似。 查看/data目录下的文件大小, du -hs *二、Logrota…

从零开始学大模型 | 你必须要知道的三种大模型架构可视化的方法!

引言 大模型架构可视化对于理解、解释和优化这些复杂模型具有重要意义和作用,主要包括以下两个方面: 提高模型透明度和可解释性通过可视化,我们能够直观地观察到模型内部的计算过程、参数分布、特征提取等,从而更好地理解模型是如…

前端学习记录——关于代码规范和代码格式化

代码规范:👉详情 代码格式化:👉详情 如何配置eslint: eslint配置文件:.eslintrc、.eslint.json 。定义代码风格规则和错误检查规则。eslint插件:应用eslint规则,实时检测代码规范…

【漏洞复现】通天星CMSV6弱口令漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Linux_应用篇(02) 文件 I/O 基础

本章给大家介绍 Linux 应用编程中最基础的知识,即文件 I/O(Input、 Outout) , 文件 I/O 指的是对文件的输入/输出操作,说白了就是对文件的读写操作; Linux 下一切皆文件,文件作为 Linux 系统设计…

【C++】list介绍

个人主页 : zxctscl 如有转载请先通知 文章目录 1. list介绍2. list的构造3. ist iterator的使用4. capacity5. element access6. modifiers7. 迭代器失效8. Operations8.1 reverse8.2 sort8.3 unique8.4 splice 1. list介绍 list是可以在常数范围内在任意位置进行插…

解决pandas的concat表格错位问题。表格拼接错误。

两个表格横向拼接但没拼到一块儿 如图: 图片来源:https://m.163.com/dy/article/HM6T6DRQ0516W3V7.html 拼接错位了。 解决方法:重置左边表格索引。 import pandas as pd df1df1.reset_index(dropTrue) df_newpd.concat([df1,df2],axiis1)…

【算法-PID】

算法-PID ■ PID■ 闭环原理■ PID 控制流程■ PID 比例环节(Proportion)■ PID 积分环节(Integral)■ PID 微分环节(Differential) ■ 位置式PID,增量式PID介绍■ 位置式 PID 公式■ 增量式 PI…