← 返回文章列表 / Back to list
unified

用 APIShare 统一接入多家免费 API

Unified Multi-Provider Free API Access via APIShare

⚠️ 待更新·2026-08-29核验 · 更新时间待核验 · 本文信息可能已过期,请以官方文档为准 更新时间:2026-08-29 · 核验状态:待更新 · 官方溯源待补

背景

免费 API 散落在 OpenRouter、Groq、DeepSeek、Gemini、Hugging Face 等十余家平台,各自有 base_url、Key 格式、限流规则与模型命名习惯。让客户端各自接,意味着每个项目都要重写一遍接入逻辑。APIShare 作为统一网关,把所有免费端点拉到自己的 /v1 下,客户端只需要一个 APIShare token 就能切换任意模型。

接入流程

  1. 在 APIShare 控制台登记各家 Provider,填入 base_urlapi_key
  2. 选择模型映射表:把 openrouter/deepseek-r1:freegroq/llama-3.3-70b 等真实模型 ID 暴露为统一别名。
  3. 网关生成一个用户级 APISHARE_TOKEN,客户端用这个 token 调 /v1/chat/completions
  4. 网关根据请求里的 model 字段查路由表,转发到对应上游,自动处理鉴权、重试、限流。

代码示例

from openai import OpenAI

# 客户端只看到 APIShare 一个端点,一个 token
client = OpenAI(
    base_url="https://api.apishare.dev/v1",
    api_key="apshare-xxxx",
)

# 同一段代码,切到任何免费模型都只是改 model 字段
for model in ["groq/llama-3.3-70b-versatile",
              "openrouter/deepseek-chat:free",
              "gemini/gemini-2.0-flash"]:
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": "用一句话解释向量数据库"}],
    )
    print(model, "->", resp.choices[0].message.content[:40])

别名设计

统一接入的真正难点不在转发,而在别名稳定性。模型上游一个月改名三次(如 DeepSeek 的 deepseek-coderdeepseek-coder-v2deepseek-v3-coder),如果客户端代码直接引用真实 ID,每次改名都要改代码。APIShare 的别名层把真实 ID 藏到内部映射表,对外暴露如 apishare/code-large 这样的稳定别名。改名时只动映射表,客户端无感。别名设计要领:按能力(code-large、chat-fast、reasoning-deep)而非厂商命名,避免将上游变动传递给客户端。

权衡与最佳实践

  • 延迟换便利:多一跳网关换来密钥集中、限流统一、统计可视,几乎总是划算的。
  • 别名要稳定:模型上游常改名,APIShare 的别名层让客户端代码不随上游变动而崩。
  • 配额可视化:在控制台看每个 Provider 的剩余免费额度,据此调路由权重。
  • 导出 schema:对外暴露统一的 OpenAPI schema,客户端代码生成器(SDK、type 定义)可以一键产出。
  • 冷启动数据:新 Provider 接入时先走 5% 灰度,观察成功率再逐步放量,避免"新 Provider 接入即事故"。

把 APIShare 当成"模型超市的收银台":一次接入,任何免费或付费模型都能扫一遍码就走。

相关文章 / Related

Groq 渠道正式上线:13 个免费模型极速推理(6 对话 + 7 专项)缓存层设计OpenAI 兼容格式统一调用统一日志与监控流式响应统一处理