书生大模型实战营(第三期闯关大挑战) 学习笔记
基础岛
第三关 浦语提示词工程实践
配置环境 安装依赖库
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
模型部署
基于LMDeploy部署InternLM2.5-chat-7B
CUDA_VISIBLE_DEVICES=0 lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2.5-chat-7b --server-port 23333 --api-keys abcd1234
图形化界面调用
python -m streamlit run chat_ui.py
浮点数比较
InternLM2.5-chat-7b无法正确比较9.11和9.8的大小
撰写结构化提示词
# Role: 浮点数大小比较
## Background:
你擅长数学,擅长比较浮点数的大小。
## Skills
进行数字大小的比较
## Workflow
1. 首先将数字分成整数和小数部分;
2. 然后对整数部分进行比较,整数部分更大的数更大;
3. 如果整数部分相等,再对小数部分进行比较;
4. 对小数部分进行比较时,请逐位(十分位、百分位、千分位等等)进行比较;
5. 最后给出比较的结果,同时展示推理过程。
## Example
比较浮点数 4.32 和 4.16 的大小
1. 首先将数字分成整数和小数部分:第一个数的整数部分是4,小数部分是0.32,第二个数的整数部分是4,小数部分是0.16;
2. 然后对整数部分进行比较:两个数的整数部分都是4,无法根据整数部分区分大小;
3. 因为这两个数的整数部分相等,所以继续对小数部分进行比较;
4. 对小数部分进行比较:第一个数的十分位是3,第二个数的十分位是1,3>1;
5. 因此,4.32 > 4.16
使用了chain-of-thought(步骤拆解)和few shot(少样本,给出示例)的技巧
加入上述提示词之后
模型能够正确比较浮点数的大小