mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-11 19:57:41 +08:00
refactor(toolcall): 动态生成工具调用示例,基于实际可用工具名
- 将硬编码的工具示例名改为从请求实际声明的工具名中选取 - 按类别(读取/写入执行/交互/嵌套)智能匹配示例工具 - 执行类工具脚本内容使用正确的参数名(command/cmd),避免误用文件写入参数 - 当工具不足时自动省略对应的示例段落,避免把不可用工具名写入 prompt - 同步更新 prompt-compatibility.md 文档说明
This commit is contained in:
@@ -147,6 +147,10 @@ DS2API 当前的核心思路,不是把客户端传来的 `messages`、`tools`
|
||||
3. 再附上统一的 XML tool call 格式约束。
|
||||
4. 把这整段内容并入 system prompt。
|
||||
|
||||
工具调用正例仍只示范 canonical XML:`<tool_calls>` → `<invoke name="...">` → `<parameter name="...">`。
|
||||
正例中的工具名只会来自当前请求实际声明的工具;如果当前请求没有足够的已知工具形态,就省略对应的单工具、多工具或嵌套示例,避免把不可用工具名写进 prompt。
|
||||
对执行类工具,脚本内容必须进入执行参数本身:`Bash` / `execute_command` 使用 `command`,`exec_command` 使用 `cmd`;不要把脚本示范成 `path` / `content` 文件写入参数。
|
||||
|
||||
OpenAI 路径实现:
|
||||
[internal/promptcompat/tool_prompt.go](../internal/promptcompat/tool_prompt.go)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user