Chatglm中 system、user等角色的作用

一、system和user角色分别扮演着不同的职能

在ChatGPT或类似的人工智能聊天模型中,system和user角色分别扮演着不同的职能。具体如下:

  1. System(系统角色)

    • System角色主要负责为模型提供上下文信息和初始指令。
    • 这一角色帮助定义了对话的起始点,例如,可以把它设置为:“你是一个助理”或“你是一名历史教师”。这个消息可以帮助设定对话的语境,以便 AI 更好地理解其在对话中的角色
    • System角色还可以包含有关助手的描述、性格特征和遵循的指令或规则等信息,这有助于模型更好地理解如何回应用户的问题。                                                                    -->也可以更加详细地进行设置。比如说,你需要一个导游,可以把它设置为:“我想让你做一个导游。我会把我的位置写给你,你会推荐一个靠近我的位置的地方。在某些情况下,我还会告诉您我将访问的地方类型。您还会向我推荐靠近我的第一个位置的类似类型的地方。”
  2. User(用户角色)

    • User通常是指寻求服务和帮助的人,他们通过与Assistant交互来实现其目的。             --->比如说“北京王府井附近有什么值得去的地方?”
    • 用户通过提问、请求或命令与系统进行互动,这些互动构成了对话的主体。
    • User的反馈对于优化模型和改善智能机器人的交互体验至关重要,因为他们是数据源,提供了用于训练和调整模型的信息。

此外,还有一个常见的角色是Assistant(助手角色),它通常是基于机器学习技术的AI,负责与用户进行交互,回答问题,提供服务,并根据用户的输入不断学习和改进。

总的来说,了解这些角色的作用可以帮助用户更有效地与AI聊天模型进行交流,并且可以根据需要定制System角色以获得更加个性化的对话体验。

二、system、user、observation这三个角色各是什么意思呢

在ChatGPT模型中,system、user和observation这三个角色各自承担着不同的职责和功能。具体如下:

  1. System(系统角色)

    • System角色主要用于为对话设定初始条件和上下文。当你开始一个新的对话或想要改变话题时,通过定义System角色,可以帮助模型更好地理解对话的背景和目的。
    • 这一角色还可以包含有关助手的描述、性格特征和遵循的指令或规则等信息,这有助于模型根据这些信息生成合适的回应。
  2. User(用户角色)

    • User角色代表与人工智能进行交互的实际用户。用户通过提问、请求或命令与系统进行互动,这些互动构成了对话的主体。
    • 用户的反馈对于优化模型和改善智能机器人的交互体验至关重要,因为他们是数据源,提供了用于训练和调整模型的信息。
  3. Observation(观察者角色)

    • Observation角色通常用于表示由外部工具或服务提供的信息。它不是模型中的一个原生角色,而是一个辅助角色,用于引入模型之外的额外信息。
    • 例如,当一个外部服务被调用并且其结果需要被整合到对话中时,这些信息可以通过Observation角色来提供,帮助模型更好地理解和回应用户的需求。

综上所述,每个角色都在对话中扮演着独特的角色,通过正确设置这些角色,可以显著提高对话的质量和用户体验。了解这些角色的功能和如何与它们互动,可以帮助用户更有效地使用聊天模型,并针对特定场景定制更加精准的对话流程。

三、那自己写的提示词应该放在 system中还是user、observation中呢,哪个更加准确呢?

自己写的提示词应该放在system中

在ChatGPT或类似的人工智能聊天模型中,system、user和observation这三个角色各自扮演着不同的职责和功能。

  1. System(系统角色)

    • System角色主要负责为模型提供上下文信息和初始指令。这一角色帮助定义了对话的起始点,例如,你可以设定话题、场景或者某些特定的对话规则。
  2. User(用户角色)

    • User通常是指寻求服务和帮助的人,他们通过与Assistant交互来实现其目的。用户通过提问、请求或命令与系统进行互动,这些互动构成了对话的主体。
  3. Observation(观察者角色)

根据以上,如果您想要自定义提示词以引导对话的方向或风格,那么应该将这些提示词放在System角色中。这样做可以确保模型从正确的上下文开始对话,并且能够根据您的设定提供更加精确的信息。而将提示词放在User角色中可能不会有效地设定对话的上下文,因为User角色主要是用来表达用户的即时需求和问题,而不是用来设定对话的起始点。将提示词放在Observation角色中也不太合适,因为这个角色主要用于引入外部信息,而不是用来设定对话的初始条件。

结论:为了确保模型能够根据特定的上下文或主题生成响应,将自定义的提示词放在System角色中是更加准确的做法。这样,无论是在编写脚本还是在与AI进行实时交互时,都可以利用System角色来设定期望的对话框架,从而使AI的回答更加符合预期。

四、外挂的知识库信息放在哪个角色中呢

外挂的知识库信息通常应该放在System角色中。

为了确保模型能够根据特定的上下文或主题生成响应,将外挂的知识库信息放在System角色中是更加准确的做法。这样,无论是在编写脚本还是在与AI进行实时交互时,都可以利用System角色来设定期望的对话框架,从而使AI的回答更加符合预期。

 五、使用示例

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. 深入探索主题:你想要传达什么信息?是关于勇气?关于发现?还是关于自我牺牲?明确的主题会让你的故事更有深度。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex_81D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值