返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Deepseek-R1不支持Function Call?不能搭建智能体?教你一招

[复制链接]
链载Ai 显示全部楼层 发表于 3 小时前 |阅读模式 打印 上一主题 下一主题



DeepSeek-R1没有Function Call能力

大模型的Function Call能力指的是模型能够根据用户需求,自动调用外部工具或API来完成特定任务的能力。例如,查询天气时调用天气API、执行数学计算时调用计算工具等。这种能力通过结构化输出来触发外部功能,使模型不仅能生成文本,还能执行实际任务。如果DeepSeek-R1不具备Function Call能力,那么就不能使用DeepSeek-R1搭建智能体。

Deepseek官网使用Function Call的例子

image.png

使用的模型是"deepseek-chat",也就是DeepSeek-V3,如果你使用DeepSeek-R1,就会报类似下图的错误"function call is not supported for this model.",具备Function Call底层逻辑就是如上图兼容openai接口支持tools这个参数

1741409406903.jpg



如何解决

1、定制化微调:

若对 DeepSeek-R1 进行微调,可训练其输出特定格式的函数调用指令(类似 GPT 的 Function Calling 微调),但需自行构建训练数据和接口。(资源、数据可不是一般人能搞定的~

2、外部集成:

DeepSeek-R1 可通过输出结构化指令(如JSON),再编写代码解析并调用外部工具,再将结果返回模型生成最终回答。(我理解这种实现应该最常用,但是比如Langchain这种还需要兼容openai的模型接口)

试试看还有没有别的实现方法,看到一个神奇的点子

image.png

非常类似这个开源项目:https://github.com/cameronking4/deepseek-r1-structured-outputs

项目核心提示词:

e28c006649dd22aa12c4dca5101ac7b.png

是不是很简单都看懂了~

不过我试验下来,第2个模型我是使用Qwen2.5,除了用户输入需要先经过Deepseek-R1推理再给Qwen2.5,工具返回的结果也需要先经过R1推理。如果使用Langchain/Langgraph多轮对话的场景,ToolMessage和带tool_calls的AIMessage的消息类型都需要改造,R1是不支持的。

本来想放一个搭建好的使用样例,使用Deepseek-R1支持Function call。但是数据原因不适合放上来,不过也没什么必要,就是有R1和Qwen2个模型的输出,类似R1规划,Qwen再执行。


最后,字节的扣子支持Deepseek-R1工具调用,是什么方案呢~

图片



就到这,除了体力的苦,少数成功的人才能吃得了苦,

独立思考吃脑力的苦

克制忍耐吃自律的苦

读书学习吃孤独的苦

能屈能伸吃尊严的苦


回复

使用道具 举报

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

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ