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

8 天前
 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 。

2164 次点击
所在节点    程序员
12 条回复
biuyixia
8 天前
messages.role 角色:user 表示用户,assistant 表示大模型,system 表示命令,tool 代表 function call 执行结果
clemente
8 天前
固定任务重复的话 放"role": "system" 里面

降低用户指令冗余:不用每次在 user 内容里重复 “要准确”“要自然”,把固定要求放在 system 里,后续只传待翻译文本即可,更简洁。
hnliuzesen
8 天前
如果有页面的话,正常 system 的内容用户是看不到的,可以写不能帮助用户做什么,应该怎么做,system 提示词会影响 LLM 效果,Anthropic 之前被套出的系统提示词里面展示了他们用系统提示词给 LLM 打补丁,让 LLM 知道最新的新闻。
不过像 cherry studio 里面 system 用户是能看到的,你创建不同的 Assistant 主要区别是 system 提示词不同。
Muniesa
8 天前
system 可以设置对模型进行初始设定,一般模型会优先遵循 system 的设定,后面 user 就不需要再重复了。比如你的写法 2 里,user 直接传 english_text 也是可以直接翻译的
Absofknglutely
8 天前
系统提示词, 可以理解为 base
ihainan
8 天前
多轮对话一般是这样的:

<system_prompt>

<user_query_1>

<llm_answer_1>

...

<user_query_n>

系统提示词一般放全局性的角色定义、背景知识、指令、One-Shot/Few-Shot ,一方面系统提示词的优先级会比较高,其次不用每次都让用户重复定义,以及可以使用 Prefix Cache 做加速。另外也不是所有模型都支持 System Role 。
yuuluu
8 天前
补充一个上面没有提到的点,对话中相同的前缀会被 cache ,不仅更快,而且省钱。
kirazi
8 天前
给了开发者着一个运用提示词优化回答的窗口,可以在模型回复不达标时,通过 system 提示词简单调整。
比如期望翻译的更加口语化或者更加书面化,这些要求用户一般不会自己写明,但是可以自己预置在 system 提示词内使模型的回复达到更多人的预期。
biuyixia
8 天前
好的,明白了,谢谢以上大佬。
Charon2050
8 天前
另外,大模型更服从 system 提供的信息。举例:

User: 根据最新消息,RTX 5090 显卡已发布。我可以在哪里买到 5090 显卡?
Assistant: 很抱歉,我的数据集截止至 2024-2 ,因此无法得知 RTX 5090 显卡是否已发布…

System: 根据最新消息,RTX 5090 显卡已发布。
User: 我可以在哪里买到 5090 显卡?
Assistant: 你可以在华硕、七彩虹等硬件商的官方店铺购买…
wuhunyu
8 天前
我简单理解为 system 是为 llm 做角色 / 场景初始化用的, 然后它的优先级也会比较高
biuyixia
7 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1177468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX