ChatGPT api里的system,user,assistant有什么作用?如何使用?

在openai的游乐场(playground)里,经常能遇到system、user、assistant。。 那它们有什么作用呢?

在查看ChatGPT文档的时候,也经常会看到这类信息

1. 什么是system,user,assistant?

1.1 system:

它设定了 AI 的行为和角色,和背景

常常用于开始对话,给出一个对话的大致方向,或者设置对话的语气和风格。

例如,可以把它设置为:“你是一个助理”或“你是一名历史教师”。这个消息可以帮助设定对话的语境,以便 AI 更好地理解其在对话中的角色

也可以更加详细地进行设置。比如说,你需要一个导游,可以把它设置为:“我想让你做一个导游。我会把我的位置写给你,你会推荐一个靠近我的位置的地方。在某些情况下,我还会告诉您我将访问的地方类型。您还会向我推荐靠近我的第一个位置的类似类型的地方。”

推荐获得8万星的GitHub提示词大全: https://github.com/f/awesome-chatgpt-prompts

1.2 user

就是我们输入的问题或请求

比如说“北京王府井附近有什么值得去的地方?”

1.3 assistant

在使用 API 的过程中,你不需要直接生成 assistant 消息,因为它们是由 API 根据 systemuser 消息自动生成的。

2. 如何使用它们

一个例子:

import openai

response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "你正在与一位科幻小说的专家交谈。"},
        {"role": "user", "content": "我正在写一部科幻小说,故事发生在一个遥远的星球上,主人公是一个探险家。你有什么建议可以让我的故事更引人入胜吗?"},
    ]
)

print(response['choices'][0]['message']['content'])

下面是assistant的内容:

“这是一个很有潜力的故事设定!有几个建议可以考虑:

  1. 详细描绘外星环境:描述星球的地理、气候、植被,甚至当地的生物,这将为读者创建一个丰富且独特的视觉体验。
  2. 发展复杂的角色:让你的探险家有深度和复杂性,可以有他的过去,他的恐惧,他的梦想。这会使角色更加有人性,让读者更容易产生共鸣。
  3. 描绘探险的挑战和困难:这可以是外部的自然困难,如恶劣的气候,危险的生物,或者内部的心理挑战,如孤独,害怕,挫败感。
  4. 深入探索主题:你想要传达什么信息?是关于勇气?关于发现?还是关于自我牺牲?明确的主题会让你的故事更有深度。

记住,好的科幻故事不仅仅是关于科技和探险,也是关于人性的。祝你的创作顺利!”

3. 在不使用api的情况下,了解system,user,assistant有什么用?

对于普通的用户,非开发者,理解这些概念有什么用呢?

即使你是一个非开发者,理解 systemuserassistant 的概念也可以帮助你更好地使用ChatGPT等人工智能聊天模型。以下是这三个角色如何影响你与人工智能的交互方式:

  1. system:当你启动一个新的对话或者改变话题时,理解 system 角色能够帮助你更好地设定对话的上下文。例如,你可以设定你正在与一位音乐专家或历史学者对话,这将有助于模型生成更相关、更准确的响应。
  2. user:理解 user 角色能让你更清楚地知道你的输入对对话的重要性。你提供的问题或请求是决定人工智能输出的主要因素。清晰、精确的用户输入将更可能得到有用和满足你需求的回应。
  3. assistant:理解 assistant 角色可以帮助你设定对人工智能回应的期望。ChatGPT 是一个强大的模型,但它的知识是基于它所被训练的数据。它可能不会知道一些新的信息,也可能对一些特定的领域或问题不太准确。

总的来说,理解这三个角色能帮助你更有效地与 ChatGPT 或其他的 AI 对话模型交互,从而得到更好的结果。

近期文章

发表评论