deepseek-ai / DeepSeek-V2

DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
MIT License
3.44k stars 138 forks source link

Function Calling比以前难触发了 #88

Open whoisfucker opened 1 week ago

whoisfucker commented 1 week ago

最近的Function Calling功能比以前难触发,我在提示词中只能加入:每一次使用工具都请使用正确的Function Calling格式

模型配置 image

k99k5 commented 1 week ago

最近的Function Calling功能比以前难触发,我在提示词中只能加入:每一次使用工具都请使用正确的Function Calling格式

模型配置 image

我已经无法触发了,现在"tool_choice": "required"之后就只会返回空。。。

wssnail commented 1 week ago

我也遇到了,携带上下文的时候,只有第一次能触发。

mujiannan commented 6 days ago

最近的Function Calling功能比以前难触发,我在提示词中只能加入:每一次使用工具都请使用正确的Function Calling格式 模型配置 image

我已经无法触发了,现在"tool_choice": "required"之后就只会返回空。。。

同样问题,提示词明确指定了,它仍然不调用。参数里强制要求调用函数,它就连contenttool_calls都一言不发。

whoisfucker commented 4 days ago

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等字段,但是就是不运行工具)