首页
看点啥
插画图片
首页 看点啥 硅基流动支持Function_Call吗?高级功能开发使用做法

硅基流动支持Function_Call吗?高级功能开发使用做法

2026-08-16 0

硅基流动平台已全面支持Function Calling功能,开发者可让大模型主动调用预定义函数完成数据库查询、天气获取等外部操作;当前明确支持Qwen2.5、DeepSeek-V2.5、GLM4、InternLM2.5四款模型。

硅基流动平台已全面支持Function Calling功能,开发者可让大模型主动调用预定义函数完成数据库查询、天气获取、API中转等外部操作,避免手动解析意图与硬编码逻辑。

确认模型是否支持Function Calling

进入硅基流动控制台 →「模型市场」→ 筛选「支持Function Calling」标签。当前明确支持的模型包括:【Qwen2.5、DeepSeek-V2.5、GLM4、InternLM2.5】。注意:DeepSeek-R1、V3虽性能强,但截至2026年8月仍不支持该功能,强行传入functions参数将返回400错误。

点击任一支持模型卡片 → 查看「能力说明」栏 → 确认存在「Function Calling」图标及文档链接。部分新上线模型存在延迟同步,若页面未显示但文档提及,以官方SDK文档为准。

Python SDK方式调用(推荐)

方法一:使用官方siliconflow-sdk(v0.8.3+)

安装最新版SDK:pip install --upgrade siliconflow-sdk

定义函数工具(必须为标准JSON Schema格式):

tools = [{ "type": "function", "function": { "name": "get_weather", "description": "获取指定城市当前天气", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "城市名称,如北京、上海" } }, "required": ["city"] } } }]

发起带工具调用的请求:

from siliconflow import Client

client = Client(api_key=os.getenv("SILICONFLOW_API_KEY"))

response = client.chat.completions.create(

model="qwen2.5",

messages=[{"role": "user", "content": "上海今天天气怎么样?"}],

tools=tools,

tool_choice="auto"

)

这一步操作起来很简单,直接把tools列表传进去就行。关键点在于:tool_choice不能设为"none",否则模型即使识别出需要调用也不会触发;若设为"required",则强制必须调用至少一个工具。

方法二:原生REST API调用

构造POST请求体时,在JSON中显式加入tools字段,结构与SDK一致;同时确保HTTP Header中包含Content-Type: application/json和有效的Authorization: Bearer YOUR_API_KEY

注意:REST方式下,若模型返回tool_calls字段,需你自行解析function name与arguments,再同步调用对应函数,并将结果拼回messages继续发送——这一步容易漏掉第二轮请求,导致流程中断。

处理Function Calling响应流

第一步:检查response.choices[0].message.tool_calls是否存在

第二步:若存在,遍历每个tool_call,提取function.name和function.arguments(字符串,需json.loads解析)

第三步:根据name路由到本地函数,执行后获得结果result

第四步:构造新的user消息:{"role": "tool", "content": json.dumps(result), "tool_call_id": tool_call.id}

第五步:将原始messages + 新增tool消息 → 再次调用create接口,获取最终答案

这五步必须严格按顺序执行。跳过第四步或错填tool_call_id会导致硅基流动服务端无法关联上下文,返回空响应或500错误。工具函数执行失败时,应返回明确的错误字符串(如{"error": "城市未找到"}),而非抛异常,否则整个链路会断开。

喜欢(0)

上一篇

短剧《穿兽世看我养狼驭王》剧情说明

短剧《穿兽世看我养狼驭王》剧情说明

下一篇

MiniMax_Agent_GroupID配置安全注意事项

MiniMax_Agent_GroupID配置安全注意事项
猜你喜欢