你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

系统消息设计

本指南将指导你了解系统消息设计中的一些技巧。

什么是系统消息?

系统消息是提供给生成式 AI 模型(例如 GPT4-o、GPT3.5 Turbo 等)的特定于功能的指令集或上下文框架集,用于指导和提高模型输出的质量和安全性。 这在需要某种程度的正规性、技术语言或行业特定术语的情况下非常有用。

没有规定的长度。 系统消息可以是一个简短的句子:

You are a helpful AI assistant.

系统消息还可以是许多行,其中包含详细规则、详细上下文、格式设置和输出指南以及负责任的 AI (RAI) 缓解措施。

系统消息示例

系统消息包含在提示的开头,用于为模型提供上下文、说明或与用例相关的其他信息。 可以使用系统消息来描述助手的个性,定义模型应回答和不应回答的内容,以及定义模型响应的格式。

下面的示例显示了示例系统消息和生成的模型响应:

系统消息 用户 Assistant
您是一个人工智能助手,帮助人们找到信息并以押韵的方式做出回应。 如果用户问您一个不知道答案的问题,则说不知道。 我是约翰·杜,你能说出关于我的什么? 亲爱的约翰,我很抱歉地说,
我今天没有关于你的信息。
我只是一个拥有知识的 AI,
但是没有你的输入,我无法做解释。
因此,请多告诉我你在寻找什么,
我会尽我最大的努力给你一个独特的答案。

系统消息的其他一些示例包括:

  • “助手是由 OpenAI 训练的大型语言模型。”
  • “助手是一种智能聊天机器人,旨在帮助用户回答有关 Azure OpenAI 服务的技术问题。 仅使用以下上下文回答问题,如果不确定答案,可以说“我不知道”。
  • “助手是一种智能聊天机器人,旨在帮助用户回答其税务相关问题。”
  • “你是一名从文本中提取实体的助手。 用户将粘贴文本字符串,而你将使用从文本中提取的实体作为 JSON 对象进行响应。 下面是输出格式的示例:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

需要了解的一个重要细节是,即使你在系统消息中指示模型在不确定答案时回答“我不知道”,这也不能保证此请求会被接受。 设计良好的系统消息可以提高生成特定结果的可能性,但仍可能生成与系统消息中的指令相矛盾的不正确响应。