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

目录

一、前置准备

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的能力,使其能更好地应对现实世界的复杂性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中堆栈内存管理机制及其在深拷贝与浅拷贝场景中的应用与解析

一.堆栈的定义 1.栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的应用有:数制转换,语法词法分析&…

VGA 时序与实现

1. VGA 时序标准 小梅哥视频链接:23A VGA成像原理与时序详解_哔哩哔哩_bilibili 行扫描时序图 场扫描时序图具体参数自己查表 2. 640*480 分辨率 VGA 控制器时序分析 2.1 行扫描区间构成 H Sync Time H Bach PorchH Left BorderH Data TimeH Right BorderH…

分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小支持向量机数据分类预测

分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小支持向量机数据分类预测 目录 分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现CPO-LSSVM冠豪猪算法优化最小支持向量机数据分类预…

国内20家公司大模型岗位面试经验汇总

面试情况: 投过的公司:淘天,字节,蚂蚁,商汤,美团,夸克,腾讯,minimax,零一万物,阿里控股,潞晨科技,阿里巴巴国际&#xff…

吴恩达2022机器学习专项课程(一) 5.2 向量化(1) 5.3 向量化(2)

问题预览/关键词 什么是向量化?向量化的好处是?如何向量化多元线性回归函数的参数?如何在Python中向量化参数?计算机底层是如何计算向量化的?向量化示例 笔记 1.向量化 一种在数学和计算中广泛使用的概念&#xff…

ROS 2边学边练(13)-- 创建一个功能包

前言 功能包是啥 简单理解,功能包就是一个文件夹,一个具备一定功能的文件夹,一个有组织有结构的文件夹,一个能方便分享给其他人使用的文件夹,比如我们的小海龟功能包,它就是一个文件夹,名字叫t…

番外篇 | 利用YOLOv5实现视频划定区域目标统计计数

前言:Hello大家好,我是小哥谈。视频划定区域目标统计计数是指在一个给定的视频中,通过划定一个特定的区域,对该区域内的目标进行统计计数的过程。这个过程通常涉及到目标检测和跟踪的技术。本篇文章就以YOLOv5算法为基础,实现视频划定区域目标统计计数!~🌈 目录…

3.6k star, 免费开源跨平台的数据库管理工具 dbgate

3.6k star, 免费开源跨平台的数据库管理工具 dbgate 分类 开源分享 项目名: dbgate -- 免费开源跨平台的数据库管理工具 Github 开源地址: GitHub - dbgate/dbgate: Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under…

汇编语言作业(二)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、实验总结 一、实验目的 1、巩固debug命令 2、使用 debug 来进行寄存器、内存中内容的查看和修改 3、使用 debug 来进行程序的调试 二、实验内容 上图是一段指令代码 ,机器码和汇编…

JS详解-手写Promise!!!

前言: 针对js的深入理解,作者学习并撰写以下文章,由于理解认知有限难免存在偏差,请大家指正!所有定义来自mdn。 Promise介绍: 对象表示异步操作最终的完成(或失败)以及其结果值. 描…

vue3表单参数校验+正则表达式

这里我们要实现在form表单中对表单项添加参数校验。 校验要求 我们的表单中有用户名、密码、电话号码、邮箱这四个项。 我们设置用户名为3到20位的非空字符 密码为3到25位非空字符 电话号码就用目前用的电话号码正则表达式,要求手机号码以 1 开头,第…

Unity框架,ET框架8.1版本的打包流程记录

目录 打包代码前置1.必须要安装Visusal Studio 2022的组件,如下图,必须都要进行安装,不然会在代码重构的时候报错,丢失SDK。Rider的版本必须2023及以上 步骤一、使用Rider编辑器打开项目后进行重构项目步骤二、使用HybirdCLR生成A…

UTONMOS:AI+Web3+元宇宙数字化“三位一体”将触发经济新爆点

人工智能、元宇宙、Web3,被称为数字化的“三位一体”,如何看待这三大技术所扮演的角色? 3月24日,2024全球开发者先锋大会“数字化的三位一体——人工智能、元宇宙、Web3.0”论坛在上海漕河泾开发区举行,首次提出&…

设计模式——原型模式05

原型模式核心复制,每次new出来的对象完全不一样,实现对象之间的隔离。 学习前最好先掌握jAVA值传递和深浅拷贝 设计模式,一定要敲代码理解 浅拷贝 克隆出对象,其中两者的引用类型属性是同一个对象。 对象信息 /*** author ggb…

Ps:合并到 HDR Pro

Ps菜单:文件/自动/合并到 HDR Pro Automate/Merge to HDR Pro 合并到 HDR Pro Merge to HDR Pro命令可以将同一场景的具有不同曝光度的多个图像合并起来,从而捕获单个 HDR 图像中的全部动态范围。 合并到 HDR Pro 命令分两步进行。 首先,需要…

Kubernetes(k8s):精通 Pod 操作的关键命令

Kubernetes(k8s):精通 Pod 操作的关键命令 1、查看 Pod 列表2、 查看 Pod 的详细信息3、创建 Pod4、删除 Pod5、获取 Pod 日志6、进入 Pod 执行命令7、暂停和启动 Pod8、改变 Pod 副本数量9、查看当前部署中使用的镜像版本10、滚动更新 Pod11…

车载电子电器架构 —— 软件下载

车载电子电器架构 —— 软件下载 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无…

matlab中角度-弧度转化

在 MATLAB 中进行角度和弧度之间的转换可以使用内置的函数: 1. 将角度转换为弧度: matlab rad deg * pi / 180; 这里 deg 是你想要转换的角度值,pi 是 MATLAB 内置的圆周率常量。 2. 将弧度转换为角度: matlab…

端口映射如何测试?

端口映射是一项网络技术,用于将外部网络中的数据流量映射到内部网络中的特定端口或设备上。通过端口映射,可以实现远程访问内部网络中的设备或应用程序,使其能够在外部网络中得到访问。本文将介绍端口映射测试及其应用场景。 2. 【天联】组网…