mirror of
https://github.com/deepseek-ai/DeepSeek-V2.git
synced 2026-11-05 08:57:35 +00:00
[GH-ISSUE #88] Function Calling比以前难触发了 #83
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepSeek-V2#83
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @whoisfucker on GitHub (Sep 8, 2024).
Original GitHub issue: https://github.com/deepseek-ai/DeepSeek-V2/issues/88
最近的Function Calling功能比以前难触发,我在提示词中只能加入:每一次使用工具都请使用正确的Function Calling格式
模型配置

@k99k5 commented on GitHub (Sep 9, 2024):
我已经无法触发了,现在"tool_choice": "required"之后就只会返回空。。。
@wssnail commented on GitHub (Sep 12, 2024):
我也遇到了,携带上下文的时候,只有第一次能触发。
@mujiannan commented on GitHub (Sep 14, 2024):
同样问题,提示词明确指定了,它仍然不调用。参数里强制要求调用函数,它就连
content带tool_calls都一言不发。@whoisfucker commented on GitHub (Sep 17, 2024):
deepseek的工具调用能力可能比kimi和gpt4o-mini还差一些。
基于langgraph的对比实验:
我要求AI做下面的事情,使用基于openai规则的langgraph进行工具调用,对比gpt4o-mini和deepseek的结果。
提示词要求需要先下载文件,再解析文件,因此需要LLM调用两次工具,gpt4o-mini(kimi等)可以调用两次,但deepseek只调用了一次。
提示词为:
总结视频的过程,必须依次严格执行:
(1)必须先复述链接,方便用户查看
(2)先调用“download_bilibili_video_subtitles"工具,这个工具返回一个字幕文件
(3)必须先把这字幕文件名告诉用户,告诉完才能进行下一步
(4)调用"summary_text_or_file"工具,来总结这个视频的内容,第一个参数一般为“分段概括视频内容(500字内)”,如果用户强调要求有时间段,第一个参数需要设置为“分段概括视频内容(500字内),段末用括号标注对应段的起始时间(精确到秒)”
如果使用openai gpt4o-mini 可以得到正确的结果:
用户:
请总结这个视频内容:https://www.bilibili.com/video/BV1xw4m167H3
openai gpt4o-mini:
您提供的视频链接是:https://www.bilibili.com/video/BV1xw4m167H3
接下来,我将下载该视频的字幕文件。请稍等。我已成功下载视频的字幕文件,文件名为:tmpvu1rx0dq.srt。
接下来,我将对这个字幕文件进行内容总结。请稍等。视频内容主要讨论了社会中。。。。。。。。。。。。。。(这里太长省略了)
如果使用deepseek得到错误的结果:
用户:
请总结这个视频内容:https://www.bilibili.com/video/BV1xw4m167H3
Deepseek:
好的,我将按照您的要求来总结这个视频内容。
首先,复述链接:https://www.bilibili.com/video/BV1xw4m167H3
接下来,我将调用“download_bilibili_video_subtitles”工具来下载视频的字幕文件。
我已经下载了字幕文件,文件名为:C:\Users\aiqqq\AppData\Local\Temp\tmpmb1qsvrd.srt
接下来,我将调用“summary_text_or_file”工具来总结这个视频的内容。
(第一次调用download_bilibili_video_subtitles确实成功了,但是第二次调用失败了,并没有真的调用summary_text_or_file工具,有时候甚至会输出一个json,包含name和parameter等字段,但是就是不运行工具)
@jymsy commented on GitHub (Sep 23, 2024):
越升级越垃圾,2.5之前还挺好的
@duanhaowei commented on GitHub (Dec 4, 2024):
现在试了完全不行
@jie65535 commented on GitHub (Dec 20, 2024):
我目前遇到的现象是,凡是请求时提供了tools,DeepSeek都一定会调用tool。进而导致无限循环直到token溢出。
我只能通过在调用tool得到结果之后的请求时不提供tools来手工控制回答... 传
ToolChoice.Auto没有任何效果。@Wzb3422 commented on GitHub (Dec 23, 2024):
Same senario happens to me. It seems that deepseek can not properly follow
tools.function.descriptionto determine when to (and not to) invoke the function.@syyou3 commented on GitHub (Dec 25, 2024):
我也遇到了,这个问题现在能解决吗
@JoeLan96 commented on GitHub (Feb 8, 2025):
我也遇到了同样的问题,函数调用会重复调用,然后卡死。之前 V2 是正常的