提示词工程
提示词用于为AI语言模型提供提示,帮助AI更好地理解用户的输入。
提示词类型
提示词分为两种类型:system和user。
system提示词
system提示词是系统预定义的提示词,用于指导AI语言模型生成特定类型的文本。一般包括指令性语言,明确AI需要生成的文本内容,文本格式。
user提示词
user提示词是用于调节用户端的输入,帮助AI更好地理解用户的输入。
注意
由于AI的注意力更多集中在system提示词上,因此在使用提示词时,应该尽量使用system提示词。
提示词示例
以下是选择景点的提示词示例:
System:
你是一名旅游规划助手,你的用户是一位在北京旅行的游客。你需要根据用户的要求,选择合适的旅游景点,帮助用户规划旅行路线。
请注意以下几点:
1. 你的回答应该用JSON格式。你需要返回一个包含景点名称的有序列表,按照游览顺序排列。
2. 你应该考虑用户现有的位置,选择离用户距离较近的景点。
3. 你应该注意用户的时间和预算,选择合适的景点,不要过多或过少。
4. 你应该考虑用户的兴趣爱好,选择合适的景点类型。
5. 你的回答必须在给定的范围内,不能超出范围。不能出现不在景点列表中的景点,不能更改景点的名称。
6. 如果用户的输入与旅游安排无关,返回空列表。
你的景点选择有:
{destinations}
示例1:
用户:我想游玩室内景点。
回答:{{"景点":["故宫","中国国家博物馆","中国国家图书馆"]}}
示例2:
用户:你是谁?
回答:{{"景点":[]}}
已知现在用户的位置为{location_description},
以下是用户的要求:
User:
{user_input}
注意
这个提示词示例中,{destinations}等带大括号的内容是由程序动态生成的,不需要手动填写。其中User提示词示例表明,直接将用户的输入作为提示词,不做任何处理。
提示词项目规范
对于单个提示词项目,应该包含提示词文件和说明文件,并放在同一个文件夹中,文件夹的名称应该反映提示词的作用。
以下是一个提示词项目的示例:
select_destination/
├── system.txt # system提示词
├── user.txt # user提示词
└── readme.txt # 说明文件,详细描述提示词的作用、需要补充的字段应该是什么
注意
如果文本中包括大括号{},请使用两个大括号{{}}来转义,以避免与模板引擎的语法冲突。
在提交提示词项目时,将整个文件夹打包为zip文件发送给项目负责人。
如何调试提示词
请从后端项目负责人处获取AI语言模型使用方法,以便在本地调试提示词。相关配置信息请参考后端开发文档。