Completion or Chat Models

什么是完成模型

至少,文本模型是一个大型数学模型,经过训练可以完成单个任务:预测下一个标记或字符。这个过程称为完成,您在整个旅程中经常会遇到这个术语。

例如,当使用完成文本模型 gpt-3.5-turbo-instruct时,您可以向模型提供初始提示:

很久以前,在一个遥远的王国里,有三位公主:

运行模型可能会产生以下输出:

很久以前,在一个遥远的王国里有三位公主:纳西莎公主是美丽但虚荣,罗莎公主善良和温柔,奥罗拉公主强壮而勇敢。这三姐妹与他们的父母——国王和皇后一起住在一座美丽的宫殿里。

这是一个简单的文本完成。然而,当训练数据集变得更大并通过人工对齐进行优化时,我们可以获得真正类似 AI 的结果,即使是研究人员最初也没有预料到。

什么是聊天完成

为了使文本模型在代码和应用程序中有用,而不仅仅是生成任意的创意信息,需要对模型进行预训练,以特定格式返回数据。通常,使用文本模型感觉就像一种聊天体验:你在某个角色中提出一些问题,然后你得到的答案就好像它来自另一个角色的人一样。考虑到这一点,模型提供商会训练他们的模型,并使用一些元数据(例如角色)来提供他们的初始训练数据。这允许模型以特定格式响应,并用于许多复杂的应用程序。

例如,模型训练数据可能如下所示:

USER: 天空的颜色是什么?
ASSISTANT: 天空的颜色会根据几个因素而变化,但在白天最常被认为是蓝色。
USER: 在前一句中我们讨论的是什么主题?
ASSISTANT: 前一句的主题围绕着天空的颜色。

上述数据以类似聊天的对话格式写入。训练数据集包含大量此类对话,在训练过程中,模型学习单词和字符之间的关系,使其能够以相同的可预测格式返回它们。

生成数据后,子系统会解析此信息,并以代码可以轻松处理的格式返回这些信息,例如以下 JSON格式:

[
  { "message": "你好!", "role": "user" },
  { "message": "你好,我可以帮助您吗?", "role": "assistant" }
]

存在哪些角色

There are several roles frequently used in chat models. The system role usually appears once, while other roles can appear multiple times:

  • System: 有关格式、规则和操作的主要指令。

  • Assistant: 模型的响应角色。

  • User: 用户的内容。

  • Tool: 模型可以使用的外部工具的响应。

使用这些角色,您可以创建复杂的行为并保护您的 AI 免受用户内容的误导性使用。


最后更新于