【书生大模型实战营】基础岛-浦语提示词工程实践

【书生大模型实战营】基础岛-浦语提示词工程实践

活动地址:地址

任务

背景问题:近期相关研究发现,LLM在对比浮点数字时表现不佳,经验证,internlm2-chat-1.8b (internlm2-chat-7b)也存在这一问题,例如认为13.8<13.11。

任务要求:利用LangGPT优化提示词,使LLM输出正确结果。完成一次并提交截图即可

部署模型

进入intern-studio的开发机,首先激活conda环境,如果没有的话使用如下命令安装:

conda create -n langgpt python=3.10 -y
conda activate langgpt
# 安装一些必要的库
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

我直接使用conda activate /root/share/pre_envs/icamp3_demo激活了环境。

然后使用apt-get install tmux安装tmux。

然后使用tmux创建一个会话,它不会因为ssh连接的断开而导致进程结束:

tmux new -t langgpt

之后进入这个会话使用如下命令:

tmux a -t langgpt

进入会话后需要重新激活conda环境。

部署模型为OpenAI server

首先使用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)

得到的结果为:
在这里插入图片描述

图形化界面调用

首先获取InterLM的Tutorial仓库,然后进入tools路径,运行对应的脚本:

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

如果在VSCode中运行,它会自动给你转发,不需要上面的命令,最终界面如下:
在这里插入图片描述
其中最大token长度设置为0时表示不限制生成的最大token长度。

提示工程比较13.8和13.11

没有提示时,当我们询问13.8和13.11谁大时,结果如下:
在这里插入图片描述

尝试使用langgpt风格给模型系统提示,如下:

# Role: 小数比大小

# Profile:
- author: lzl2040
- version: 0.1
- language: 中文
- description: 我是一个聪明的机器人,可以比较小数的大小

## Goals:
- 比较两个小数的大小。

## Constrains:
- 输入的必须是数字
- 进行小数比较时,先比较整数部分,整数部分大说明这个数更大;如果整数部分相同,则比较小数部分
- 进行小数部分比较时,从左往右一个一个数比,如果当前数更大,则这个小数更大
- 最终的结果要给出比较过程,不能只是结果

## Initialization: 
作为一个聪明的小数比大小机器人,我擅长比较小数大小。请开始告诉我您要比较的两个数字。

输出结果为:
在这里插入图片描述
此时能够正常输出。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzl2040

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值