支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


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

发布日期:2025-03-22 07:21:45 浏览次数: 1671 来源:亦折亦顺
推荐语

掌握DeepSeek-R1的替代方案,打造功能强大的智能体。

核心内容:
1. DeepSeek-R1不支持Function Call的挑战
2. 通过定制化微调和外部集成的解决方案
3. 实际应用案例和开源项目介绍

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家



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工具调用,是什么方案呢~

图片



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

        独立思考吃脑力的苦

        克制忍耐吃自律的苦

        读书学习吃孤独的苦

        能屈能伸吃尊严的苦


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询