为什么走厂商官网而不是聚合层

聚合网关的免费额度通常有有效期和可迁移性限制。相比之下,厂商官网的 Free Tier 是「账号级」的:只要账号还在,额度按周期刷新,Key 可以长期保存,也能直接写进本地脚本与 IDE 插件。2026 年,一批以推理速度见长的基础设施型厂商(Groq、Cerebras、SambaNova 等)以及老牌厂商(Mistral、Cohere)都保留了面向开发者的自助免费层,通常只需邮箱验证,不强制绑卡。

关键前提:这类额度适合开发调试、批处理小样本、Agent 工具调用,不适合高并发生产流量。速率限制(每分钟请求数/每分钟 token 数)才是真正的天花板,额度总量往往用不完。

操作步骤

第一步:逐个注册并拿到 Key

  1. 打开厂商官网的 Developer / Platform 控制台,用工作邮箱注册。避免用一次性邮箱,部分厂商会对域名做风控。
  2. 在控制台创建 API Key,命名带上用途(如 local-dev-2026),创建后立即复制——多数控制台只展示一次。
  3. 记录该账号的速率限制页面位置:通常是 Rate Limits 或 Usage 标签,先截图存档,后续排查 429 时要用。
  4. 若厂商要求绑卡才能解锁免费层,直接跳过,换下一家。本文路线的前提就是不绑卡。

第二步:统一环境变量命名

不要在每个脚本里硬编码 Key。建立一份本地 .env(加入 .gitignore),按 PROVIDER_API_KEY 规范命名:

```

GROQ_API_KEY=...

CEREBRAS_API_KEY=...

SAMBANOVA_API_KEY=...

MISTRAL_API_KEY=...

```

再写一个 providers.yaml,统一描述每家的 base_url、默认模型名、TPM/RPM 上限:

```yaml

providers:

groq:

base_url: https://api.groq.com/openai/v1

model: <控制台当前可用的小模型>

rpm: 约 30

cerebras:

base_url: https://api.cerebras.ai/v1

model: <控制台当前可用的小模型>

rpm: 约 30

```

具体模型名与限额以控制台实时显示为准,不要抄网上的旧数字。

第三步:用 OpenAI 兼容客户端统一调用

上述多数厂商提供 OpenAI 兼容端点,因此同一份代码只需切换 base_url 和 api_key:

```python

from openai import OpenAI

import os, yaml

cfg = yaml.safe_load(open('providers.yaml'))

def client_for(name):

p = cfg['providers'][name]

return OpenAI(base_url=p['base_url'], api_key=os.environ[f"{name.upper()}_API_KEY"])

```

这样本地脚本、IDE 插件、CLI Agent 工具都能复用同一套配置。

第四步:写一个降级链

把「首选—备选—兜底」写成顺序列表。遇到 429 或 5xx 时自动切下一家:

```python

def call_with_fallback(messages, order=('groq','cerebras','sambanova')):

for name in order:

try:

return client_for(name).chat.completions.create(

model=cfg['providers'][name]['model'], messages=messages)

except Exception as e:

if '429' in str(e) or 'rate' in str(e).lower():

continue

raise

raise RuntimeError('all free tiers exhausted')

```

这是整条路线的核心价值:单家免费层的 RPM 很小,但三家叠起来足以支撑个人开发节奏。

第五步:监控用量,别等 429

在每次调用后记录 usage 字段与时间戳,写进本地 SQLite 或 CSV。按分钟聚合,画出每天各家的消耗曲线。当某家接近其 RPM 上限时,降级链自然会把流量推给下一家。

注意事项

  • 限额会变:免费层的模型清单、RPM、每日上限调整频繁。每季度回控制台核对一次,别依赖本文或博客里的数字。
  • 不要多账号刷额度:同一身份注册多个账号薅免费层,多数厂商条款明确禁止,封号会连带损失已积累的 Key。
  • 数据合规:免费层通常声明会用于服务改进。不要把客户数据、内部代码、个人隐私发进免费端点。
  • 不要在客户端暴露 Key:前端应用必须经自己的服务端转发,否则 Key 会被抓包。
  • 区分「免费层」和「试用金」:试用金是一次性余额,免费层是周期性配额,两者计费逻辑不同,不要混在一个监控表里。

适用场景

  • 个人开发者做原型验证、写 IDE 补全插件、跑批量文本清洗。
  • 小团队在做 POC 阶段,先用免费层验证可行性,再决定是否付费。
  • 教学与实验环境,需要零成本但可复现的调用链。

不适合:面向终端用户的高并发产品、需要 SLA 保证的业务、需要把数据留在自有环境的场景(后者应走本地开源模型)。