书生浦语训练营2期-第二节课笔记作业

news2025/1/19 23:20:29

目录

一、前置准备

1.1 电脑操作系统:windows 11

1.2 前置服务安装(避免访问127.0.0.1被拒绝)

1.2.1 iis安装并重启

1.2.2 openssh安装

1.2.3 openssh服务更改为自动模式

1.2.4 书生·浦语平台 ssh配置

1.3  补充(前置服务ok仍被拒绝)

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

2.1 配置基础环境

2.2 下载 InternLM2-Chat-1.8B 模型

2.3 运行结果

三、部署八戒-Chat-1.8B模型进行智能对话

3.1 配置基础环境

3.2 demo并运行

3.3 运行结果

四、使用 Lagent 运行 InternLM2-Chat-7B 模型

4.1 配置基础环境

4.2  使用 Lagent 运行 InternLM2-Chat-7B 模型为内核的智能体

4.3  运行结果

4.4 作业-huggingface_hub python 包下载InternLM2-Chat-7B 的 config.json 文件

 五、部署 浦语·灵笔2 模型

5.1 图文写作

5.2 图片理解

六、课程总结

6.1 课程收获

6.1.1 关于Lagent


一、前置准备

1.1 电脑操作系统:windows 11

1.2 前置服务安装(避免访问127.0.0.1被拒绝)

1.2.1 iis安装并重启

操作:控制面板----程序和功能----启用或关闭windows功能----Internet Information Services &  Internet   Information services可承载的Web核心

输入127.0.01,出现以下界面就是成功了

1.2.2 openssh安装

操作:添加可选功能----openssh

1.2.3 openssh服务更改为自动模式

操作:cmd----service.msc----openssh切换成自动方式

1.2.4 书生·浦语平台 ssh配置

(1)终端生成SSH密钥

ssh-keygen -t rsa

(2)ssh公钥复制到InternStudio

密钥放在C:\Users\Administrator/.ssh/id_rsa下,进入到目录下进行查看、复制

type id_rsa.pub

(3)点击首页的配置SSH Key,将公钥复制进去

(4)本地终端ssh连接

操作:平台点击ssh连接,复制登录命令至终端

1.3  补充(前置服务ok仍被拒绝)

1.3.1 确认是否设置隧道,端口号是ssh连接的端口号,如果要输密码就是ssh的密码,我这边跳过密码了。

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

1.3.2 确认6006端口是否被占用,占用就杀掉进程

netstat ano | findstr : 6006

 

1.3.3 防火墙是否关闭

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

2.1 配置基础环境

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

2.2 下载 InternLM2-Chat-1.8B 模型

(1)创建2个python脚本

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

 (2)下载模型参数文件

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

(3)下载模型(cli_demo.py)

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_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":
        break

    length = 0
    for response, _ in model.stream_chat(tokenizer, input_text, messages):
        if response is not None:
            print(response[length:], flush=True, end="")
            length = len(response)

2.3 运行结果

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


三、部署八戒-Chat-1.8B模型进行智能对话

3.1 配置基础环境

(1)进入环境并用Git获取demo

conda activate demo

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

3.2 demo并运行

(1)windows终端运行(38894替换成自己的端口)

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

(2)平台运行

python /root/Tutorial/helloworld/bajie_download.py

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

3.3 运行结果


四、使用 Lagent 运行 InternLM2-Chat-7B 模型

4.1 配置基础环境

(1)进入conda环境

conda activate demo

 (2)下载Lagent相关代码并安装

git clone https://gitee.com/internlm/lagent.git
cd /root/demo/lagent
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac
pip install -e . 

4.2  使用 Lagent 运行 InternLM2-Chat-7B 模型为内核的智能体

(1)进入lagent文件夹,设置软链接快速访问方式

cd /root/demo/lagent

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b

(2)更改模型路径

修改进入lagent/examples/internlm2_agent_web_demo_hf.py第71行

value='/root/models/internlm2-chat-7b'

(3)运行(前提:已经设置隧道。出现拒绝访问参考 1.2、1.3 章节

streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006

 4.3  运行结果

4.4 作业-huggingface_hub python 包下载InternLM2-Chat-7B 的 config.json 文件

(1)安装huggingface_hub

pip install -U huggingface_hub

(2)创建下载脚本

(3)运行


 五、部署 浦语·灵笔2 模型

5.1 图文写作

(1)进入conda环境

conda activate demo

(2)补充环境包

pip install timm==0.4.12 sentencepiece==0.1.99 markdown2==2.4.10 xlsxwriter==3.1.2 gradio==4.13.0 modelscope==1.9.5

(3)下载 InternLM-XComposer 仓库 相关的代码资源

cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626

 (4)构造软链接

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /root/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /root/models/internlm-xcomposer2-vl-7b

 (5)启动 InternLM-XComposer

cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_composition.py  \
--code_path /root/models/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006

(6)访问127.0.0.1:6006

 5.2 图片理解

(1)进入conda环境

(2)启动 InternLM-XComposer2-vl

cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_chat.py  \
--code_path /root/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006

 (3)访问127.0.0.1:6006


六、课程总结

6.1 课程收获

6.1.1 关于Lagent

一个轻量级的开源框架,帮助用户高效构建基于大型语言模型(LLM)的智能代理。它还提供了一些典型的工具来增强LLM的功能。

主要特点包括高效的推理引擎支持、对多种代理的支持、极简易的扩展能力以及支持多种LLM,如GPT-3.5/4、LLaMA 2和InternLM等。

Lagent的设计旨在提高扩展性和可用性,允许用户通过简单的继承和装饰来创建个性化的工具集,从而使模型到智能代理的转换只需一步操作。此外,Lagent的文档也经过了全面的升级,覆盖了完整的API文档。

Lagent支持通过简单的代码定义智能代理、动作以及与LLM的交互,使得构建智能代理变得更加直接和灵活。

当前,LLM Agent正处于实验和概念验证阶段。在实际使用中还面临着诸多挑战,如处理任务时的循环问题、记忆模块的策略问题以及因幻觉问题而错误使用工具的问题等。这些问题的解决需要LLM本身的进一步发展和Agent框架的优化。然而,围绕LLM Agent的生态正在逐渐丰富,探索Agent模型、框架以及应用的研究正在积极进行中,旨在提升Agent的能力,使其能更好地应对现实世界的复杂性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电池二次利用走向可持续大循环周期的潜力和挑战(第一篇)

一、背景 当前,气候变化是全球可持续发展面临的重大挑战。缓解气候变化最具挑战性的目标是在本世纪中期实现碳中和(排放量低到足以被自然系统安全吸收),其中电动汽车(EV)的引入是一项关键举措。电动汽车在…

小林coding图解计算机网络|基础篇01|TCP/IP网络模型有哪几层?

小林coding网站通道:入口 本篇文章摘抄应付面试的重点内容,详细内容还请移步: 文章目录 应用层(Application Layer)传输层(Transport Layer)TCP段(TCP Segment) 网络层(Internet Layer)IP协议的寻址能力IP协议的路由能力 数据链路层(Link Lay…

每日一题:用c语言中指针实现除2操作

目录 一、要求 二、实现代码 三、实现结果 四、关于指针的相关知识 一、要求 二、实现代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void change(int *i) {*i*i/2; }int main() {int i;printf("请您输入一个整数&#xff1a;");scanf(&quo…

LC 111.二叉树的最小深度

111. 二叉树的最小深度 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a; 叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a; root [3,9,20,null,null,15,7] 输出&#xff1a;…

LeetCode-124. 二叉树中的最大路径和【树 深度优先搜索 动态规划 二叉树】

LeetCode-124. 二叉树中的最大路径和【树 深度优先搜索 动态规划 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;递归。return max(max(l_val, r_val) node.val, 0)解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 二叉树中的 路径 被定义为一条…

景联文科技提供高质量医疗健康AI大模型数据

医疗行业是典型的知识和技术密集型行业&#xff0c;其发展水平直接关系到国民健康和生命质量。 医疗健康AI大模型&#xff0c;作为人工智能的一个分支&#xff0c;能够通过学习大量的数据来生成新的数据实例&#xff0c;在医药研发、医学影像、医疗文本分析等都有广泛的应用前景…

基于单片机的无线红外报警系统

**单片机设计介绍&#xff0c;基于单片机的无线红外报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的无线红外报警系统是一种结合了单片机控制技术和无线红外传感技术的安防系统。该系统通过无线红外传感器实…

满足小体积/低功耗/低成本需求,世强硬创推出CGM解决方案

随着CGM的普及与更多具备性价比的国产产品上市&#xff0c;越来越多的企业开始布局CGM市场。 为此全球领先的硬件创新研发和供应服务平台世强硬创面向硬科技企业推出CGM&#xff08;连续血糖监测&#xff09;解决方案。 该方案可一站式解决企业开发需求&#xff0c;包括系统整…

vivado 系统监控器

系统监控器 (SYSMON) 模数转换器 (ADC) 用于测量硬件器件上的裸片温度和电压。 SYSMON 可通过片上温度和供电传 感器来监控物理环境。 ADC 可为各种应用提供高精度模拟接口。 请参阅下文 &#xff0c; 以获取有关特定器件架构的更多信息 &#xff1a; • 《 UltraScale …

前视声呐目标识别定位(五)-代码解析之修改声呐参数

前视声呐目标识别定位&#xff08;一&#xff09;-基础知识 前视声呐目标识别定位&#xff08;二&#xff09;-目标识别定位模块 前视声呐目标识别定位&#xff08;三&#xff09;-部署至机器人 前视声呐目标识别定位&#xff08;四&#xff09;-代码解析之启动识别模块 …

售价 25.98 万元起,远航 Y6、H8 焕新来袭,让高端豪华电动汽车真正“触手可及”

当下的新能源汽车市场中&#xff0c;各品牌竞争激烈&#xff0c;远航汽车通过一系列专属的权益优惠&#xff0c;以令人惊喜的25.98 万元起售价&#xff0c;远航 Y6 、H8成功打破高端豪华电动汽车价格壁垒&#xff0c;相比同类产品更具竞争力&#xff0c;为广大消费者带来了更轻…

7.stack容器的使用

文章目录 stack容器常用接口代码工程运行结果 stack容器 常用接口 /*1.push - 入栈*/ /*2.top - 查看栈顶元素*/ /*3.pop - 出栈*/代码工程 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stack>using namespace std;/*1.push - 入栈*/ /*2.top…

开机自启动

对win10,给一种开机自启动的设置方法: 1. winr 打开 2. 输入shell:startup打开 开始\程序\启动 3. 把想要自启动的应用的快捷方式放在这里即可 亲测有用

2024年腾讯云4核8G12M轻量服务器并发量评测,能支持多少人?

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

B02、运行时内存篇-3.2

1、堆 1.1、核心概述 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心区域。Java 堆区在JVM启动的时候即被创建&#xff0c;其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。在《Java虚拟机规范》规定&#xff0c;堆可以处…

Elasticsearch 压测实践总结

背景 搜索、ES运维场景离不开压力测试。 1.宿主机层面变更&#xff1a;参数调优 & 配置调整 & 硬件升级2.集群层面变更&#xff1a;参数调优3.索引层面变更&#xff1a;mapping调整 当然还有使用层面变更&#xff0c;使用API调优&#xff08;不属于该文章的讨论范围…

Python快速入门系列-10(Python进阶与扩展)

第十章:Python进阶与扩展 10.1 Python与其他语言的整合10.1.1 使用Python的C API示例:使用C API创建一个简单的Python扩展10.1.2 使用Cython加速Python代码示例:使用Cython编写一个快速的矩阵乘法函数10.1.3 使用SWIG创建接口示例:使用SWIG为C++类生成Python接口10.2 Pytho…

特征融合篇 | 结合内容引导注意力 DEA-Net 思想 实现双主干特征融合新方法 | IEEE TIP 2024

本篇改进已集成到 YOLOv8-Magic 框架。 摘要—单幅图像去雾是一个具有挑战性的不适定问题,它从观察到的雾化图像中估计潜在的无雾图像。一些现有的基于深度学习的方法致力于通过增加卷积的深度或宽度来改善模型性能。卷积神经网络(CNN)结构的学习能力仍然未被充分探索。本文…

5米分辨率数字高程模型(DEM)的制作

在现代科技的驱动下&#xff0c;地理信息系统&#xff08;GIS&#xff09;和遥感技术已经取得了惊人的进展。其中一项令人瞩目的技术就是5米分辨率数字高程模型&#xff08;DEM&#xff09;的制作&#xff0c;它是基于多颗高分辨率卫星数据为原始数据&#xff0c;借助智能立体模…

QA测试开发工程师面试题满分问答8: mysql数据库的索引定义、用途和使用场景

MySQL数据库索引是一种数据结构&#xff0c;用于提高数据库的查询效率。索引是基于表中的一个或多个列构建的&#xff0c;它们允许数据库系统快速定位和访问表中的特定数据&#xff0c;而无需扫描整个表。 索引的定义 在MySQL中&#xff0c;可以使用CREATE INDEX语句定义索引…