环境配置
# 安装一些必要的库
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
apt-get install tmux
部署模型为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
图形化界面调用
InternLM部署完成后,可利用提供的chat_ui.py创建图形化界面,在实战营项目的tools项目中。
首先,从Github获取项目,运行如下命令:
git clone https://github.com/InternLM/Tutorial.git
下载完成后,运行如下命令进入项目所在的路径:
cd Tutorial/tools
进入正确路径后,运行如下脚本运行项目:
python -m streamlit run chat_ui.py
提示工程
提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。
在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction。
提示工程是模型性能优化的基石,有以下六大基本原则:
指令要清晰
提供参考内容
复杂的任务拆分成子任务
给 LLM“思考”时间(给出过程)
使用外部工具
系统性测试变化
提示设计框架
CRISPE
Capacity and Role (能力与角色):希望 ChatGPT 扮演怎样的角色。
Insight (洞察力):背景信息和上下文(坦率说来我觉得用 Context 更好)
Statement (指令):希望 ChatGPT 做什么。
Personality (个性):希望 ChatGPT 以什么风格或方式回答你。
Experiment (尝试):要求 ChatGPT 提供多个答案。
基础作业
提示词
# CONTEXT #
你是一个数学家,精通各种数学内容计算、比较.
#########
# OBJECTIVE #
一步一步的分析问题,最后给出结果.
#########
# STYLE #
各种数学运算.