OpenAI system,user,assistant 角色详解

ChatGPT API消息中的角色

在使用OpenAI ChatGPT API时,消息对象中的角色(role)用于指示消息的作者身份和对话的上下文。这些角色包括:system、user和assistant。

1. 系统角色(system)

系统角色用于为聊天助手分配特定的行为或上下文,以影响对话的模型行为。例如,您可以将系统角色分配给聊天助手,并设置内容为特定主题或行为,以便ChatGPT在对话中表现特定的个性或专业知识。

示例请求:

curl -s https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -d '{
    "model": "gpt-3.5-turbo-16k",
    "messages": [{"role": "system", "content": "您是足球专家"}]
  }'

示例响应:

{
  "id": "chatcmpl-7WqSSEotClV5cSaxrU0lCHWT6ALIQ",
  "object": "chat.completion",
  "created": 1688062500,
  "model": "gpt-3.5-turbo-16k-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "我在这里回答您关于这项运动的任何问题。无论是关于规则、策略、球员还是与足球相关的任何其他问题,都请随时提问!"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 38,
    "total_tokens": 50
  }
}
2. 用户角色(user)

用户角色代表实际的最终用户,向ChatGPT发送提示或消息。用户角色用于指示消息/提示来自最终用户或人类。

示例请求:

curl -s https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -d '{
    "model": "gpt-3.5-turbo-16k",
    "messages": [
      {
        "role": "system",
        "content": "您是足球专家"
      },
      {
        "role": "user",
        "content": "谁赢得了2018年的FIFA世界杯?"
      }
    ]
  }'

示例响应:

{
  "id": "chatcmpl-7WrMNkWGxyX4EXY5iANmHE6I1R27b",
  "object": "chat.completion",
  "created": 1688065967,
  "model": "gpt-3.5-turbo-16k-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "法国赢得了2018年的FIFA世界杯。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 11,
    "total_tokens": 36
  }
}
3. 助手角色(assistant)

助手角色表示对最终用户提示的响应实体,用于保持对话的连贯性。助手角色用于设置模型的先前响应,以继续对话流程。

示例请求:

curl -s https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -d '{
    "model": "gpt-3.5-turbo-16k",
    "messages": [
      {
        "role": "system",
        "content": "您是足球专家"
      },
      {
        "role": "user",
        "content": "谁赢得了2018年的FIFA世界杯?"
      },
      {
        "role": "assistant",
        "content": "法国赢得了2018年的FIFA世界杯。"
      }
    ]
  }'

示例响应:

{
  "id": "chatcmpl-7WryqleJdvZzz4vtdQs4erG3Kx7mT",
  "object": "chat.completion",
  "created": 1688068352,
  "model": "gpt-3.5-turbo-16k-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "下一届FIFA世界杯计划于2026年举行,将由加拿大、墨西哥和美国联合举办。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 51,
    "completion_tokens": 31,
    "total_tokens": 82
  }
}

5. 结论

在这个快速教程中,我们了解了ChatGPT API消息中“system”、“user”和“assistant”角色的含义,以及如何在API中使用它们。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenAI是一个人工智能研究机构,提供了一系列的API和工具,以帮助开发人员构建智能系统。要接入OpenAI,您需要按照以下步骤操作: 1. 注册OpenAI账户并创建API密钥 在OpenAI官网注册账户并创建API密钥,以便您可以使用OpenAI提供的API。 2. 安装OpenAI API客户端库 您需要安装OpenAI API客户端库以便调用OpenAI API。您可以使用以下命令在Java项目中安装OpenAI API客户端库: ``` // 使用 Maven 安装 OpenAI API 客户端库 <dependency> <groupId>com.openai</groupId> <artifactId>openai-api</artifactId> <version>0.0.1</version> </dependency> ``` 3. 编写Java代码 在Java项目中编写代码以调用OpenAI API。以下是一个简单的示例: ```java import com.openai.api.ApiException; import com.openai.api.api.CompletionsApi; import com.openai.api.model.CompletionRequest; import com.openai.api.model.CompletionResponseData; public class OpenAIDemo { public static void main(String[] args) { CompletionsApi apiInstance = new CompletionsApi(); String prompt = "Hello, my name is"; CompletionRequest completionRequest = new CompletionRequest(); completionRequest.setPrompt(prompt); completionRequest.setMaxTokens(5); completionRequest.setTemperature(0.5); completionRequest.setN(1); String apiKey = "YOUR_API_KEY"; try { CompletionResponseData result = apiInstance.createCompletion(completionRequest, apiKey); System.out.println(result.getChoices().get(0).getText()); } catch (ApiException e) { System.err.println("Exception when calling CompletionsApi#createCompletion"); e.printStackTrace(); } } } ``` 在这个示例中,我们使用OpenAI API的Completions API来生成文本。我们提供了一个简单的提示,然后设置了一些参数(例如生成的最大标记数和生成的温度)。然后我们调用了createCompletion方法,并传递了我们的API密钥。最后,我们打印出了生成的文本。 以上是一个简单的示例,您可以根据自己的需求来调用OpenAI提供的不同API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值