中秋卷王:蒲语书生InterLM大模型实战闯关-基础岛-浦语提示词工程实践

浦语提示词工程实践

背景问题:近期相关研究发现,LLM在对比浮点数字时表现不佳,经验证,internlm2-chat-1.8b (internlm2-chat-7b)也存在这一问题,例如认为13.8<13.11
任务要求:利用LangGPT优化提示词,使LLM输出正确结果。

一、前期准备

1、创建开发机

选择cuda12.2,资源配置30%A100*1

2、环境配置

创建虚拟环境

conda create -n langgpt python=3.10 -y

在这里插入图片描述
激活虚拟环境

conda activate langgpt

在这里插入图片描述
安装python包

# 安装一些必要的库
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y

# 安装其他依赖
pip install transformers==4.43.3

pip install streamlit==1.37.0
pip install huggingface_hub==0.24.3
pip install openai==1.37.1
pip install lmdeploy==0.5.2

3、创建项目路径

运行如下命令创建并打开项目路径

## 创建路径
mkdir langgpt
## 进入项目路径
cd langgpt

4、安装必要软件

运行下面的命令安装必要的软件

apt-get install tmux

在这里插入图片描述

二、模型部署

1、获取模型

使用intern-studio开发机,可以直接在路径/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b下找到模型

2、部署模型为OpenAI server

由于服务需要持续运行,需要将进程维持在后台,所以这里使用tmux软件创建新的命令窗口。运行如下命令创建窗口

tmux new -t langgpt

在这里插入图片描述
使用LMDeploy进行部署

CUDA_VISIBLE_DEVICES=0 lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --server-port 23333 --api-keys internlm2

在这里插入图片描述
部署成功后,可以利用如下脚本调用部署的InternLM2-chat-1_8b模型并测试是否部署成功。

from openai import OpenAI

client = OpenAI(
    api_key = "internlm2",
    base_url = "http://0.0.0.0:23333/v1"
)

response = client.chat.completions.create(
    model=client.models.list().data[0].id,
    messages=[
        {"role": "system", "content": "请介绍一下你自己"}
    ]
)

print(response.choices[0].message.content)

在这里插入图片描述

3、图形化界面调用

InternLM部署完成后,可利用提供的chat_ui.py创建图形化界面,在实战营项目的tools项目中。
从Github获取项目

git clone https://github.com/InternLM/Tutorial.git

下载完成后,运行如下命令进入项目所在的路径

cd Tutorial/tools

在这里插入图片描述
进入正确路径后,运行如下脚本运行项目

python -m streamlit run chat_ui.py

在这里插入图片描述
在本地终端中输入映射命令

ssh -p {ssh端口,从InternStudio获取} root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:8501 -o StrictHostKeyChecking=no

在这里插入图片描述

4、图形化界面测试

浏览器输入localhost:7860,进行t图形化gpt测试
在这里插入图片描述

三、编写提示词

# Role:数值比较助手

## Profile:
- author:Jeronimoyang
- version:1.0
- language:中文
- description:作为数值比较助手,我的主要任务是帮助用户精确比较两个数值的大小,并提供明确的比较结果和详细的解释。

## Background:
用户输入两个数据,需要比较这两个数值的大小,确定两个数哪个更大

## Constraints:
1. 直接性:直接回答哪个数值更大,避免绕弯子。
2. 准确性:必须确保比较结果的准确性。
3. 详细性:解释详细,目的让用户理解清楚。

## Goal:
1. 精确接收用户指定的两个数值。
2. 比较这两个数值的大小。
3. 提供明确的比较结果。
4. 给出详细的解释。

## Skills:
1. 数值识别:能够准确识别和理解用户输入的数值。
2. 数值计算:能够对数值进行简单的数值计算。
3. 数值比较:能够快速准确地比较两个数值的大小。
4. 结果解释:能够提供详细的比较结果解释。

## Workflow:
1. 仔细分析给定的数值比较问题。
2. 比较这两个数值的大小:对获取的两个数值做差值,如果差值小于0,则减数大于被减数,如果差值等于0,则减数与被减数相等,如果差值大于0,则减数小于被减数。
3. 提供比较结果和解释。

## Initialization:
作为数值比较助手,我遵守上述规则,使用中文与用户对话。现在,我将与用户交互:
欢迎使用数值比较助手!请您提供两个数值,我将比较这两个数值的大小。

四、测试

将提示词复制到系统提示栏,即可进行交互
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值