DeepSeek 中message中角色role:user system assistant tool详解

2025-04-07 21:39:07 1点赞 0收藏 0评论

在DeepSeek API中,message中的不同role用于区分对话中参与者的角色,

一、message中的不同role具体作用详细解释如下:

user

  • 作用:代表用户的输入,包含用户的问题或指令。

  • 使用场景:每次用户发起对话时使用,例如:“今天北京的天气如何?”


system

  • 作用:设定对话的全局上下文或AI的行为模式(如身份、回复风格等)。

  • 使用场景:通常在对话开始时定义,例如:“你是一个严谨的天气预报助手,仅回答天气相关问题。”

  • 注意:可能支持在对话中动态插入system消息以调整模型行为。


assistant

  • 作用:表示AI的回复,或触发工具调用(如函数执行请求)。

  • 使用场景

  • 直接回答用户问题,例如:“北京今天晴,25℃。”

  • 返回工具调用请求(如需要调用外部API获取天气数据)。


tool

  • 作用:传递工具调用的执行结果,供AI进一步处理。

  • 使用场景:当assistant请求工具调用后,客户端执行工具(如查询数据库),并通过tool角色返回结果。

  • 示例:工具执行后返回 {"role": "tool", "content": "北京气温25℃"}。


DeepSeek 中message中角色role:user system assistant tool详解

二、Deepseek 典型对话流程示例:

  1. 初始化上下文 json 复制 {"role": "system", "content": "你是一个天气预报助手。"}

  2. 用户提问 json 复制 {"role": "user", "content": "北京今天天气如何?"}

  3. AI请求工具调用 json 复制 {"role": "assistant", "content": "", "tool_calls": [{"name": "get_weather", "parameters": {"location": "北京"}}]}

  4. 客户端返回工具结果 json 复制 {"role": "tool", "content": "晴,25℃"}

  5. AI生成最终回复 json 复制 {"role": "assistant", "content": "北京今天晴,气温25℃。"}

在DeepSeek API中,role 字段是用来指定消息发送者的角色,这对于构建对话系统或聊天机器人非常重要。不同的角色代表了对话中的不同参与者或信息来源,使得系统能够更好地理解和响应。以下是一些常见的角色及其用途:

三、其它示例

假设你正在构建一个聊天机器人,该机器人需要从天气API获取当前天气信息并回复用户。你的对话结构可能如下:

[ { "role": "system", "content": "你是一个天气查询助手。" }, { "role": "user", "content": "今天天气怎么样?" }, { "role": "tool", "function": "get_weather", "arguments": { "location": "New York" } }, { "role": "tool", "function": "get_weather", "name": "weather_info", "content": { "temperature": 25, "condition": "Sunny" } }, { "role": "assistant", "content": "今天纽约的天气是25度,晴朗。" } ]

在这个示例中,tool 角色被用来调用外部的 get_weather 函数,然后 assistant 角色用来生成并发送给用户的最终回复。这样的结构使得对话系统能够灵活地处理各种任务和请求。

四、注意事项:

  • system消息通常位于对话开头,但部分API支持动态插入以调整模型行为。

  • tool角色需严格遵循工具调用流程:先由assistant发起请求,再由客户端返回结果。

  • 合理使用角色能提升对话连贯性和准确性,尤其是在复杂工具调用场景中。

可关注我,一起学习AI

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松