SuperAPI AI 工具集

openrouter-function-calling

智能体与模型

查看项目

更新于 10-15 23:27

技能介绍

用途:在 OpenRouter 上实现 OpenAI 兼容的工具/函数调用,让模型返回结构化的 tool_calls 而非自由文本,适用于构建智能体、结构化输出与工具增强的 LLM 工作流。

主要能力:支持 JSON Schema 定义工具,通过 tool_choice 控制调用(auto/required/none/指定函数);读取 response.choices[0].message.tool_calls 获取 function.name 与 JSON 编码的 arguments;支持多轮工具循环(追加 assistant 消息、执行工具、以 role: "tool" 和 tool_call_id 回传结果,直到返回纯文本);仅需结构化数据时可跳过工具,使用 response_format={"type": "json_object"} 的 JSON 模式。OpenRouter 会归一化工具调用接口,同一套代码可跨提供商使用。

使用方式:需 OpenRouter API 密钥(sk-or-v1-...)并导出为 OPENROUTER_API_KEY;Python 3.8+ 或 Node.js 18+,安装 OpenAI SDK(pip install openai / npm install openai);选择支持工具调用的模型(如 openai/gpt-4o、anthropic/claude-3.5-sonnet、google/gemini-2.0-flash-001)。客户端 base_url 设为 https://openrouter.ai/api/v1,可带 HTTP-Referer 与 X-Title 头。

适用场景:智能体、结构化数据提取、工具增强工作流。

限制:并非所有模型都支持工具调用,发送工具前应通过 /api/v1/models 检查能力;模型可能生成非法 JSON 或错误参数,需 try/catch 并在服务端校验参数后再执行;JSON Schema 仅支持基础类型;建议设置 max_tokens 并记录工具调用日志。具体收费与价格暂未提供。