[GH-ISSUE #84] 线上api如何稳定的触发 tool_calls #81

Open
opened 2026-10-26 21:07:33 +00:00 by bsakaguchi · 5 comments
Owner

Originally created by @wssnail on GitHub (Aug 26, 2024).
Original GitHub issue: https://github.com/deepseek-ai/DeepSeek-V2/issues/84

写了一个tool_calls,用来创建SQL的,但是在提问题的时候需要写到上特殊的标记,比如:
promt: 创建会员表 call executeSql 或者 创建会员表 tool_calls
用上述的提示词,第一次还能稳定生成
但是当message携带的内容多了之后,上述提示词就不起作用了,如下

[
  	{...},
    {
        "role": "user",
        "content": "创建会员表 tool_calls"
    },
    {
        "role": "assistant",
        "content": "```json\n{\n  \"name\": \"executeSql\",\n  \"parameters\": {\n    \"sql\": \"CREATE TABLE IF NOT EXISTS members (id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, join_date DATE NOT NULL, membership_status VARCHAR(50) NOT NULL);\"\n  }\n}\n```"
    },
    {
        "role": "user",
        "content": "创建老师表 tool_calls"
    }
]

上述在“创建会员表 tool_calls”这里的时候,还可以稳定的输出

{"tool_calls":[ {"id": "call_0_0956d049-6667-411f-a5e0-2e421e488205", "type": "function", "function": {"name": "executeSql", "arguments": "{\"sql\": \"CREATE TABLE IF NOT EXISTS members (id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, join_date DATE NOT NULL, membership_status VARCHAR(50) NOT NULL)\"}"}}]},

但是在“创建老师表 tool_calls”的时候就无法输出tool_calls了,这个功能在GPT-4o上很稳定,这个能修复吗?或者添加一个指令,确保能稳定输出tool_calls,不然稳定性太差,线上的api都无法满足企业化需求

Originally created by @wssnail on GitHub (Aug 26, 2024). Original GitHub issue: https://github.com/deepseek-ai/DeepSeek-V2/issues/84 写了一个tool_calls,用来创建SQL的,但是在提问题的时候需要写到上特殊的标记,比如: promt: 创建会员表 call executeSql 或者 创建会员表 tool_calls 用上述的提示词,第一次还能稳定生成 但是当message携带的内容多了之后,上述提示词就不起作用了,如下 ```json [ {...}, { "role": "user", "content": "创建会员表 tool_calls" }, { "role": "assistant", "content": "```json\n{\n \"name\": \"executeSql\",\n \"parameters\": {\n \"sql\": \"CREATE TABLE IF NOT EXISTS members (id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, join_date DATE NOT NULL, membership_status VARCHAR(50) NOT NULL);\"\n }\n}\n```" }, { "role": "user", "content": "创建老师表 tool_calls" } ] ``` 上述在“创建会员表 tool_calls”这里的时候,还可以稳定的输出 ``` {"tool_calls":[ {"id": "call_0_0956d049-6667-411f-a5e0-2e421e488205", "type": "function", "function": {"name": "executeSql", "arguments": "{\"sql\": \"CREATE TABLE IF NOT EXISTS members (id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, join_date DATE NOT NULL, membership_status VARCHAR(50) NOT NULL)\"}"}}]}, ``` 但是在“创建老师表 tool_calls”的时候就无法输出tool_calls了,这个功能在GPT-4o上很稳定,这个能修复吗?或者添加一个指令,确保能稳定输出tool_calls,不然稳定性太差,线上的api都无法满足企业化需求
Author
Owner

@mujiannan commented on GitHub (Sep 14, 2024):

遇到了同样问题,DeepSeek调用工具的欲望非常低,即便在提示词中明确要求尽可能调用工具获取详细信息后再回答,它依然懒洋洋的。

<!-- gh-comment-id:2350891588 --> @mujiannan commented on GitHub (Sep 14, 2024): 遇到了同样问题,`DeepSeek`调用工具的欲望非常低,即便在提示词中明确要求尽可能调用工具获取详细信息后再回答,它依然懒洋洋的。
Author
Owner

@luochen1990 commented on GitHub (Oct 9, 2024):

遇到了同样问题,DeepSeek调用工具的欲望非常低,即便在提示词中明确要求尽可能调用工具获取详细信息后再回答,它依然懒洋洋的。

2.5 之前没这个问题的,升到2.5 之后就这样了,而且有时候强制指定 tool_choice 到特定 function name 都不管用

<!-- gh-comment-id:2401199195 --> @luochen1990 commented on GitHub (Oct 9, 2024): > 遇到了同样问题,`DeepSeek`调用工具的欲望非常低,即便在提示词中明确要求尽可能调用工具获取详细信息后再回答,它依然懒洋洋的。 2.5 之前没这个问题的,升到2.5 之后就这样了,而且有时候强制指定 tool_choice 到特定 function name 都不管用
Author
Owner

@ITMeow commented on GitHub (Oct 22, 2024):

可能是和他低价缓存的机制有关,会优先返回之前提问的内容,坐等修复,期待期待

<!-- gh-comment-id:2428475557 --> @ITMeow commented on GitHub (Oct 22, 2024): 可能是和他低价缓存的机制有关,会优先返回之前提问的内容,坐等修复,期待期待
Author
Owner

@luochen1990 commented on GitHub (Oct 22, 2024):

可能是和他低价缓存的机制有关,会优先返回之前提问的内容,坐等修复,期待期待

你说的是这个 么? 这个缓存的是 input, 不会缓存 output,所以理论上应该与这个无关

<!-- gh-comment-id:2429041745 --> @luochen1990 commented on GitHub (Oct 22, 2024): > 可能是和他低价缓存的机制有关,会优先返回之前提问的内容,坐等修复,期待期待 你说的是[这个](https://api-docs.deepseek.com/zh-cn/guides/kv_cache/) 么? 这个缓存的是 input, 不会缓存 output,所以理论上应该与这个无关
Author
Owner

@Yc-runrun commented on GitHub (Jun 25, 2025):

这个问题解决了么,最近还是遇到这个问题

<!-- gh-comment-id:3003423898 --> @Yc-runrun commented on GitHub (Jun 25, 2025): 这个问题解决了么,最近还是遇到这个问题
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepSeek-V2#81
No description provided.