SuperAPI AI 工具集

openrouter

智能体与模型

查看项目

更新于 10-16 02:14

技能介绍

OpenRouter Skill 是一个面向 OpenRouter API 开发的辅助技能,围绕“通过单一端点统一访问数百个 AI 模型”这一核心用途展开,并强调智能路由、自动回退与标准化接口。

用途与触发场景

该技能应在以下情况触发:通过统一接口向多个 AI 模型提供商发起 API 调用;实现模型回退策略或自动路由;使用 OpenAI 兼容 SDK 但面向多个提供商;配置高级采样参数(temperature、top_p、penalties);设置流式响应或结构化 JSON 输出;比较不同 AI 模型的成本;构建需要自动提供商故障转移的应用;跨不同模型实现函数/工具调用;以及涉及 OpenRouter 特定功能(路由、回退、zero completion insurance)的问题。

主要能力

  • 统一接入:通过 OpenAI 兼容 API 格式访问多个模型提供商,OpenRouter 会标准化各提供商的 API schema。
  • 模型路由:提供 Auto Router(openrouter/auto),基于提示自动选择最佳模型(使用 NotDiamond);支持回退模型(fallback models),主模型失败时自动重试;支持跨提供商路由以提升可靠性。
  • 认证:使用 Bearer token 方式的 API Key 认证,兼容 OpenAI SDK 的认证模式,API Key 可以以编程方式管理。
  • 模型命名:采用 provider/model-name 格式,例如 openai/gpt-4o、anthropic/claude-3.5-sonnet、google/gemini-2.0-flash-exp:free、openrouter/auto。
  • 采样参数:temperature(0.0-2.0,默认 1.0)、top_p(0.0-1.0,默认 1.0)、frequency/presence penalties(-2.0-2.0,默认 0.0)、max_tokens(整数,控制响应长度与成本)。
  • 响应格式:标准 JSON、流式(SSE,stream: true)、JSON 模式(response_format: {"type": "json_object"})、结构化输出(schema 校验的 JSON)。
  • 高级功能:工具/函数调用、多模态输入(图像、PDF、音频)、提示缓存、Web 搜索集成、Zero Completion Insurance、logprobs。
  • 参考文件:技能内含 references/ 目录文档,包括 llms-full.md(完整模型列表及元数据)、llms-small.md(热门模型精选子集)、llms.md(标准模型列表)。

使用方式

使用 OpenAI SDK 指向 OpenRouter 端点即可:Python 中通过 from openai import OpenAI 初始化 client,设置 base_url="https://openrouter.ai/api/v1" 与 api_key="<OPENROUTER_API_KEY>",再调用 client.chat.completions.create(model="openai/gpt-4o", messages=[...])。JavaScript/TypeScript 中通过 new OpenAI({ baseURL: 'https://openrouter.ai/api/v1', apiKey: '<OPENROUTER_API_KEY>' }) 初始化并调用 openai.chat.completions.create。也可直接使用 cURL 请求 https://openrouter.ai/api/v1/chat/completions。

回退配置示例(Python):在 create 调用中通过 extra_body={"models": ["anthropic/claude-3.5-sonnet", "gryphe/mythomax-l2-13b"]} 指定多个回退模型;TypeScript 中则直接传入 models 数组。自动路由使用 model="openrouter/auto"。

常用端点:Chat Completions(POST https://openrouter.ai/api/v1/chat/completions)、List Models(GET https://openrouter.ai/api/v1/models)、Generation Info(GET https://openrouter.ai/api/v1/generation)。

技能还提供面向初、中、高级用户的路径:初学者从基础 chat completion 示例入手,保持参数简单;中级用户实现回退数组、尝试采样参数、使用流式与 JSON 模式;高级用户微调多个采样参数、实现自定义路由与回退链、使用 logprobs、利用工具/函数调用、按任务选型优化成本、实现提示缓存、使用 seed 实现可复现测试。

适用场景与常见模式

适用于需要跨多个模型提供商统一调用的应用、需要自动故障转移的生产系统、需要成本优化路由的场景(简单任务用较便宜模型,复杂任务用高端模型),以及需要结构化输出或流式 UX 的对话类应用。文档给出的常见模式包括:带回退的错误处理、成本优化路由、上下文感知的 temperature 设置(事实性任务使用低温度如 0.2,创意内容使用高温度如 1.2)。

限制与注意事项

响应中包含由哪个模型处理请求的元数据;定价基于实际使用的模型(对回退尤为重要)。所有模型均支持通过 Server-Sent Events 流式传输,且兼容主流框架(LangChain、Vercel AI SDK 等)。seed 仅在模型支持时才能实现相同输出,temperature=0.0 用于确定性采样。max_tokens 不能超过上下文长度减去提示长度。最佳实践包括:生产应用始终实现回退、按任务类型选择合适 temperature、设置 max_tokens 控制成本与长度、在聊天应用中启用流式、在需要保证结构化输出时使用 JSON 模式、开发期间用 seed 测试可复现性、按任务选型监控成本、不确定模型表现时使用自动路由、对速率限制与失败实现完善的错误处理、对重复请求缓存提示以降低成本。官方文档地址:API Reference https://openrouter.ai/docs/api-reference/overview、Quickstart https://openrouter.ai/docs/quickstart、Model List https://openrouter.ai/docs/models、Parameters Guide https://openrouter.ai/docs/api-reference/parameters。