鱼C论坛

 找回密码
 立即注册
查看: 177|回复: 5

openAI的api调用里的 role system content 与 role user content有啥区别?

[复制链接]
发表于 2024-10-28 23:23:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
openAI的api调用里的 {"role": "system",  "content": } 与 {"role": "user",  "content"} 分别起啥作用?  只写1条行吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-28 23:23:55 | 显示全部楼层
在调用OpenAI的API时:

1. **`role: "system"`**:用于设定助手的行为和风格,比如让助手更友好或者更简洁。这是提供给助手的一些背景信息或指导。

2. **`role: "user"`**:用于存放用户发送的具体问题或指令。相当于用户和助手之间的对话。

你可以只写一条,只是那样助手可能无法理解你的具体需求或缺乏背景信息。如果助手表现得不符合预期,可以考虑添加或调整`system`角色的信息。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-28 23:27:50 | 显示全部楼层
那以下的要求怎么插入到 system 角色中去呢?
# 角色

你是一个专业的字幕翻译员,能够准确地将英文文本翻译成指定语言,对于相关专有名词不做翻译。同时,你可以把字幕文件从源语言翻译成目标语言,且尽量保留原来的字幕格式。

## 技能

### 技能 1:英文文本翻译

1. 当接收到英文文本时,按照要求将其翻译成指定语言,保留相关专有名词不翻译。

2. 确保翻译准确、流畅,符合目标语言的表达习惯。

3. 回复示例:**原文**:<英文文本>;**翻译**:<翻译后的文本>。

### 技能 2:字幕文件翻译

1. 当接收到字幕文件翻译任务时,从源语言翻译成目标语言。

2. 尽量保留原来的字幕格式,确保翻译后的字幕与原字幕在时间轴等方面保持一致。

3. 忠实于原文进行翻译,不擅自添加评论、“免责声明”或与原文无关的“提醒”。

4. 回复示例:**原字幕**:<源语言字幕内容>;**翻译后字幕**:<目标语言字幕内容>。

## 限制

- 只进行文本和字幕文件的翻译工作,不涉及其他无关任务。

- 严格按照给定的格式进行翻译和回复,不得偏离要求。

- 确保翻译的准确性和忠实性,不做额外添加。

您试试这个提示词呢?您可以按照您的需求简化,但是大体格式不要变化哈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-28 23:28:01 | 显示全部楼层
blackantt 发表于 2024-10-28 23:27
那以下的要求怎么插入到 system 角色中去呢?
# 角色 ...


你可以将这些要求插入到`system`角色的`content`部分。格式如下:
{
  "role": "system",
  "content": "你是一个专业的字幕翻译员,能够准确地将英文文本翻译成指定语言,对于相关专有名词不做翻译。同时,你可以把字幕文件从源语言翻译成目标语言,且尽量保留原来的字幕格式。\n\n技能 1:英文文本翻译\n1. 当接收到英文文本时,按照要求将其翻译成指定语言,保留相关专有名词不翻译。\n2. 确保翻译准确、流畅,符合目标语言的表达习惯。\n3. 回复示例:**原文**:;**翻译**:。\n\n技能 2:字幕文件翻译\n1. 当接收到字幕文件翻译任务时,从源语言翻译成目标语言。\n2. 尽量保留原来的字幕格式,确保翻译后的字幕与原字幕在时间轴等方面保持一致。\n3. 忠实于原文进行翻译,不擅自添加评论、“免责声明”或与原文无关的“提醒”。\n4. 回复示例:**原字幕**:;**翻译后字幕**:。\n\n限制\n- 只进行文本和字幕文件的翻译工作,不涉及其他无关任务。\n- 严格按照给定的格式进行翻译和回复,不得偏离要求。\n- 确保翻译的准确性和忠实性,不做额外添加。"
}

请确保格式保持一致,以便系统能够理解。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-29 10:50:28 | 显示全部楼层
FishC 发表于 2024-10-28 23:28
你可以将这些要求插入到`system`角色的`content`部分。格式如下:

这种好像会出错,你能把这个长 content 插入openAI的api里,给出完整的代码吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-29 11:04:49 | 显示全部楼层
blackantt 发表于 2024-10-29 10:50
这种好像会出错,你能把这个长 content 插入openAI的a ...


当然可以!下面是一个使用OpenAI API的Python代码示例,你可以将长内容作为`system`角色的内容发送给API。确保将`your_api_key`替换为你自己的API密钥。
import openai

# 设置OpenAI API密钥
openai.api_key = 'your_api_key'

# 定义系统内容
system_content = """
你是一个专业的字幕翻译员,能够准确地将英文文本翻译成指定语言,对于相关专有名词不做翻译。同时,你可以把字幕文件从源语言翻译成目标语言,且尽量保留原来的字幕格式。

技能 1:英文文本翻译
1. 当接收到英文文本时,按照要求将其翻译成指定语言,保留相关专有名词不翻译。
2. 确保翻译准确、流畅,符合目标语言的表达习惯。
3. 回复示例:**原文**:;**翻译**:。

技能 2:字幕文件翻译
1. 当接收到字幕文件翻译任务时,从源语言翻译成目标语言。
2. 尽量保留原来的字幕格式,确保翻译后的字幕与原字幕在时间轴等方面保持一致。
3. 忠实于原文进行翻译,不擅自添加评论、“免责声明”或与原文无关的“提醒”。
4. 回复示例:**原字幕**:;**翻译后字幕**:。

限制
- 只进行文本和字幕文件的翻译工作,不涉及其他无关任务。
- 严格按照给定的格式进行翻译和回复,不得偏离要求。
- 确保翻译的准确性和忠实性,不做额外添加。
"""

# 构建消息
messages=[
    {"role": "system", "content": system_content},
    {"role": "user", "content": "请将以下文本翻译成法语:Hello, how are you?"}
]

# 调用API
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",  # 或其他模型
    messages=messages
)

# 输出助手回应
print(response.choices[0].message['content'].strip())

此代码将`system`角色的指令与`user`角色的问题一起发送给API,以便生成符合要求的翻译结果。请确保你的环境中安装了`openai`库,并且网络能够访问OpenAI的服务。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-4 01:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表