哪位大佬对大模型调用比较熟悉啊,求问。

查看 49|回复 5
作者:biuyixia   
https://www.xfyun.cn/doc/spark/HTTP%E8%B0%83%E7%94%A8%E6%96%87%E6%A1%A3.html#_3-%E8%AF%B7%E6%B1%82%E8%AF%B4%E6%98%8E
讯飞的这个大模型调用,官方的调用示例如下:
"messages": [
    {
        "role": "system",
        "content": "你是知识渊博的助理"
    },
    {
        "role": "user",
        "content": "你好,讯飞星火"
    }
]
如果我用它进行翻译
写法 1:
"messages": [
    {
        "role": "user",
        "content": f"请将以下英文翻译成中文:\n\n{english_text}"
    }
]
写法 2 ( AI 给出):
        {
                "role": "system",
                "content": "You are a professional translator. Translate English to Chinese accurately, naturally, and maintain the original tone and context."
        },
        {
                "role": "user",
                "content": f"请将以下英文翻译成中文:\n\n{english_text}"
        }
疑问的一个点在于,这个 role 为 system 的作用在哪?写法 1 和写法 2 翻译结果差不多,官方文档示例写了两个角色反而增加了困惑,有没有必要加这个 role:system 。

大模型调用, 翻译, role

biuyixia
OP
  
messages.role 角色:user 表示用户,assistant 表示大模型,system 表示命令,tool 代表 function call 执行结果
clemente   
固定任务重复的话 放"role": "system" 里面
降低用户指令冗余:不用每次在 user 内容里重复 “要准确”“要自然”,把固定要求放在 system 里,后续只传待翻译文本即可,更简洁。
hnliuzesen   
如果有页面的话,正常 system 的内容用户是看不到的,可以写不能帮助用户做什么,应该怎么做,system 提示词会影响 LLM 效果,Anthropic 之前被套出的系统提示词里面展示了他们用系统提示词给 LLM 打补丁,让 LLM 知道最新的新闻。
不过像 cherry studio 里面 system 用户是能看到的,你创建不同的 Assistant 主要区别是 system 提示词不同。
Muniesa   
system 可以设置对模型进行初始设定,一般模型会优先遵循 system 的设定,后面 user 就不需要再重复了。比如你的写法 2 里,user 直接传 english_text 也是可以直接翻译的
Absofknglutely   
系统提示词, 可以理解为 base
您需要登录后才可以回帖 登录 | 立即注册

返回顶部