启动模型
教程里设置得太繁琐了。lmdeploy支持InternLM系列模型的部署,在conda环境下输入
lmdeploy serve gradio /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --cache-max-entry-count 0.1
在浏览器打开6006端口页面,可以看到,模型成功启动
提示词工程
提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。
在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction。
提示工程是模型性能优化的基石,有以下六大基本原则:
- 指令要清晰
- 提供参考内容
- 复杂的任务拆分成子任务
- 给 LLM“思考”时间(给出过程)
- 使用外部工具
- 系统性测试变化
提示词尝试示例
大模型对数学并不敏感,未给提示时,测试结果如下:
进行角色设定和think-step-by-step技巧后,大模型即可给出正确答案。
利用LangGPT规则构造更规整的提示词
LangGPT遵循以下的格式:
Role (角色)
Profile(角色简介)
Profile 下的 skill (角色技能)
Rules (角色要遵守的规则)
Workflow (满足上述条件的角色的工作流程)
Initialization (进行正式开始工作的初始化准备)
开始实际使用
在浮点比较的任务下,可以这么考虑角色:
### Role
A excellent teacher who never makes a mistake in math
### Profile
Familier with all caculation problems in High School
### Rules
1. The output should be consistence with elementary algebra constrains.
2. Think step by step to give out the answer.
3. Result should be output in json. Fill the information in [], {"result" : [result], "reason": [reason] }
### Initiation
Think carefully, think step by step, answer the question
### Question
Compare 13.8 with 13.11
未给提示前,大模型无法比较两数大小,给出提示后输出正确答案