支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


OpenAI Codex 使用OpenRouter上的免费模型

发布日期:2025-04-23 17:33:23 浏览次数: 1526 作者:字节笔记本
推荐语

探索如何通过OpenRouter平台,免费使用OpenAI Codex等大型语言模型。

核心内容:
1. OpenRouter平台介绍及其支持的大型语言模型
2. 注册获取API密钥并配置环境的详细步骤
3. 使用OpenRouter API发送请求的示例代码

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

OpenRouter 是一个统一的 API 平台,允许开发者通过单一接口访问数百种大型语言模型(LLMs),包括商业模型(如 OpenAI 的 GPT 系列、Anthropic 的 Claude、Google 的 Gemini)和开源模型(如 Meta 的 Llama、Mistral 等)。

35c0120f-b66c-4b5f-83bb-70d9a76e6f05.png

快速开始使用 OpenRouter。

步骤 1:注册并获取 API 密钥
访问 openrouter.ai 并创建一个账户。

登录后,导航至 Keys 页面,创建一个 API 密钥。

7b142769-9303-4847-b19f-16e310a5a29f.png

命名你的密钥(例如 “bytenote”)。

可选择设置信用限制(Credit Limit),或留空以无限制。

2a498bf5-e749-4bd9-a6af-5e2f1ce40234.png

购买或充值积分(Credits)以使用付费模型。

OpenRouter 提供少量初始免费积分,部分模型(如某些小型开源模型)完全免费。

步骤 2:配置环境

将API 密钥保存为环境变量,或者在项目中配置:

export OPENROUTER_API_KEY="your-api-key-here"

或者在项目根目录创建一个 .env 文件:

OPENROUTER_API_KEY=your-api-key-here

OpenRouter 的 API 会自动加载 .env 文件中的变量。

步骤 3:发送 API 请求

OpenRouter 的 API 与 OpenAI 的 API 高度兼容,因此可以使用 OpenAI 的 SDK 或直接发送 HTTP 请求。

以下是一个简单的示例,使用 Python 的 openai 库:

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="<YOUR_OPENROUTER_API_KEY>",
)

completion = client.chat.completions.create(
    model="openai/gpt-3.5-turbo",  # 选择支持的模型
    messages=[
        {"role": "user", "content": "What is the meaning of life?"}
    ],
    extra_headers={
        "HTTP-Referer": "<YOUR_SITE_URL>",  # 可选,用于 OpenRouter 排行榜
        "X-Title": "<YOUR_SITE_NAME>",     # 可选,应用名称
    }
)

print(completion.choices[0].message.content)

注意:

替换 <YOUR_OPENROUTER_API_KEY> 为你的实际密钥。

模型名称需包含组织前缀,例如 openai/gpt-3.5-turbo 或 meta-llama/llama-3.1-8b-instruct。

查看支持的模型列表:

https://openrouter.ai/models

步骤 4:选择模型和优化

模型选择:OpenRouter 提供多种模型,部分免费(如 google/gemma-2-9b-it:free),部分按 token 计费。
可以通过 :free、:nitro(优化速度)或 :floor(优化成本)等动态变体调整行为。

5e4259b1-e987-47f4-b98d-fc1a371dce99.png

智能路由:OpenRouter 默认根据成本和可用性自动选择最佳提供商。

可以通过 provider 参数自定义路由策略,例如:

"provider": {
    "order": ["Anthropic", "Together"],
    "allow_fallbacks": false,
    "data_collection": "deny"  # 避免数据被用于训练这样可以指定优先使用的提供商并禁用数据收集。
}

OpenRouter 现支持多模态请求(文本和图像)。

可以通过 /api/v1/chat/completions 端点发送图像(URL 或 base64 编码)。

示例:

{
    "model": "mistralai/mixtral-8x7b-instruct",
    "messages": [
        {"role": "user", "content": [
            {"type": "text", "text": "Describe this image"},
            {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
        ]}
    ]
}

部分模型支持原生图像生成,需在请求中包含 modalities: ["image", "text"]。

模型和提供商路由

Auto Router:使用特殊模型 ID 自动选择最适合你提示的高质量模型,由 NotDiamond 提供支持。

Fallback 机制:如果主模型或提供商不可用,OpenRouter 会自动切换到备用模型或提供商,确保高可用性。

自定义路由:通过 models 或 provider 参数指定优先模型或提供商。

例如,优先使用低成本提供商:

{
    "models": ["mistralai/mixtral-8x7b-instruct", "meta-llama/llama-3.1-8b-instruct"],
    "route": "fallback"
}

在 Codex CLI 中使用 OpenRouter

Codex CLI可以通过 --provider 标志配置 OpenRouter 作为模型提供商:


29c6cdbf-e66c-4ab7-af9d-bd0a6697e2f7.png

设置 OpenRouter 的 API 密钥:

export OPENROUTER_API_KEY="your-api-key-here"

运行 Codex CLI 并指定 OpenRouter 模型:

codex --provider openrouter "explain this codebase to me"

或者在 Codex 的配置文件(~/.codex/config.yaml)中指定:

provider: openrouter
model: meta-llama/llama-3.1-8b-instruct

Codex CLI 支持 OpenRouter 的多模型访问,适合在终端中进行代码生成、文件操作等任务。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询