AI模型Llama 3系统级提示词格式Prompt Format
本文将讨论Llama 3.1模型系统级提示中使用的特殊标记和角色。它涵盖了如<|begin_of_text|>、<|end_of_text|>等标记,这些标记有助于定义文本的开始和结束、填充以及不同角色(如系统、用户、助手和ipython)的头部。文章还解释了这些标记在各种场景中的使用,包括工具调用和用户互动。此外,它提供了Llama 3.1支持的角色的详细信息,这些角色对于设置交互上下文和在对话式AI设置中生成响应至关重要。
Tokens
以下是 Llama 3.1提示词Prompt支持的特殊标记(token)列表:
- <|begin_of_text|>:指定提示词的开始
- <|end_of_text|>:模型将停止生成更多标记。此标记仅由基础模型生成。
- <|finetune_right_pad_id|>:此标记用于在批处理中将文本序列填充到相同长度。
- <|start_header_id|> 和 <|end_header_id|>:这些标记用于包围特定消息的角色。可能的角色包括:[system, user, assistant 和 ipython]
- <|eom_id|>:消息结束标记。表示执行一个任务的潜在停止点,此时模型可以通知执行器需要进行工具调用Tool Calling。当系统提示词中使用 Environment: ipython 指令时,或者模型调用内置工具时,会生成此标记。
- <|eot_id|>:轮次结束标记。表示模型已确定完成对启动其响应的用户消息的交互。此标记在两种场景中使用:
- 在模型和用户的直接交互结束时
- 在模型与可用工具的多次交互结束时,此标记向执行器发出信号,表明模型已完成响应生成。
- <|python_tag|>:模型响应中用于标识工具调用的特殊标记。
Llama 3.1的4种角色
Llama 3.1 支持以下 4 种不同的角色:
- system:设置与 AI 模型交互的上下文环境。通常包括帮助模型有效响应的规则、指南或必要信息。
- user:代表与模型交互的人类用户。包括向模型提供的输入内容、命令和问题。
- ipython:Llama 3.1 中新引入的角色,在语义上代表"工具"角色。当执行器将工具调用的输出发送回模型时,使用此角色标记相关消息。
- assistant:代表 AI 模型基于 system、ipython 和 user 提示词所生成的响应内容。
Llama 3.1 基础模型
Llama 3.1基础模型Text completion使用这种格式。
提示词的输入格式:
<|begin_of_text|>Color of sky is blue but sometimes can also be
模型的响应格式:
red, orange, yellow, green, purple, pink, brown, gray, black, white, and even rainbow colors. The color of the sky can change due to various reasons such as time of day, weather conditions, pollution, and atmospheric phenomena.
The color of the sky is primarily blue because of a phenomenon called
Llama 3.1 指令模型
User角色与Assistant角色对话
Here is a regular multi-turn user assistant conver