什么是 Codex API?
术语 codex api 通常指专门用于代码生成和理解的人工智能模型所使用的接口。最初由 OpenAI 普及,这一概念已演变为更广泛的标准,各种提供商提供 OpenAI 兼容的接口。对于 AI 编程代理而言,这意味着一致的 POST /v1/chat/completions 结构,用于处理文本输入和文本输出交互。
我们的服务提供专为编程上下文优化的专用无审查大型语言模型。与聚合多个厂商的代理中继不同,我们在自己的 GPU 服务器上运行单一开放权重模型。这确保了稳定、单一模型的接口,拥有 100,000 token 的上下文窗口,这对于在不丢失上下文的情况下处理大型代码库至关重要。
API 不支持嵌入、图像、音频或视频生成,也不提供微调。它是一个纯文本补全引擎,旨在直接集成到 Cursor 或 Claude Code 等编程代理中。
为什么使用无审查模型?
标准编程模型通常会应用内容过滤器,这可能会干扰技术任务。例如,模型可能会拒绝生成安全漏洞的代码,或在特定编程语言语法类似于受版权保护的作品时进行拦截,即使使用场景是合法且技术性的。无审查模型消除了这些任意拒绝,使代理能够专注于代码质量和逻辑。
我们的模型经过调整,可在合法成人用途下无内容拒绝地回答。这对于需要处理多样化代码片段、文档或创意编程项目的 AI 编程代理特别有用,避免因内容策略而遇到 403 Forbidden 错误。
有一个硬性内容限制始终适用:不涉及未成年人的性内容。此类请求将被阻断。对于所有其他合法的成人、虚构或安全研究主题,模型将提供直接回答。这种稳定性减少了代理工作流中重试逻辑的需求,从而节省 token 和时间。
配置 Cursor IDE
Cursor IDE 是一款流行的 AI 驱动代码编辑器,依赖外部 LLM 接口。要将我们的无审查 API 用作主要编程代理,你需要在设置中更新 base URL。
进入 Cursor 设置并找到 API 配置部分。将 base URL 更改为 https://api.getcodexapi.com/v1。输入来自 获取 API 密钥 页面的 API 密钥。你应该选择的模型 ID 是 uncensored。
此配置确保所有代码建议和编辑都由我们的专用模型处理。由于 Cursor 使用 OpenAI 兼容格式,无需额外中间件。100,000 token 的上下文窗口允许编辑器在处理大型文件或多文件重构任务时保持上下文,这是较小上下文模型常见的限制。
权衡: 你将无法访问 GPT-4 或 Claude 等专有模型,除非你手动切换配置。然而,对于纯代码生成和编辑,此无审查接口通常能提供更快速、更一致的结果,且无策略中断。
连接 Claude Code
Claude Code 是 Anthropic 开发的命令行代理。虽然它通常使用 Anthropic 的 API,但如果客户端支持,可以配置为使用任何 OpenAI 兼容的接口。这使得我们的 API 成为那些偏好我们模型无审查行为但喜欢 Claude Code 界面的用户的可行替代方案。
要连接,你需要确保客户端支持自定义 base URL。更新配置以指向 https://api.getcodexapi.com/v1,并将模型设置为 uncensored。你还需要提供 API 密钥。
此设置对于希望利用编程代理强大的工具调用功能但需要不拒绝复杂或不规则代码模式的模型的开发人员非常有用。请注意,虽然界面保持不变,但底层模型的行为将与标准 Claude 模型不同。始终测试你的特定工作流,以确保无审查模型符合你的代码质量标准。
使用 OpenAI SDK
Python 或 Node.js 的 OpenAI SDK 旨在与任何 OpenAI 兼容的接口一起使用。你可以通过更改 base URL 和 API 密钥来切换使用我们的 API。
以下是你在 Python 中初始化客户端的方法:
from openai import OpenAI
client = OpenAI(
base_url="https://api.getcodexapi.com/v1",
api_key="your-api-key"
)
然后,你可以像往常一样调用聊天补全接口:
response = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a Python function to sort a list."}]
)
这种简洁性允许你在不重写代理核心逻辑的情况下替换底层模型。SDK 处理序列化和响应解析,因此你可以专注于应用程序逻辑。
流式输出以获取实时反馈
对于提供实时代码建议的编程代理,流式输出至关重要。我们的 API 支持通过服务器发送事件 (SSE) 进行流式输出。这允许代理在生成代码时显示代码,从而改善用户体验。
- 在 API 请求中设置
stream=True。 - 逐块读取流。
- 使用每个块更新 UI 或编辑器。
这降低了感知延迟,特别是对于大型代码块。由于我们的模型拥有 100,000 token 的上下文窗口,你可以流式输出包含大量上下文的响应,而无需担心截断。
注意:流式输出不会改变定价或 token 计数。Token 根据输入和输出的总量计费,无论响应是流式输出还是单块返回。
处理函数调用
AI 编程代理通常使用函数调用来与外部工具交互,例如运行终端命令或读取文件。我们的 API 支持此功能,允许你在请求中定义函数架构。
- 在
functions参数中定义您的函数。 - 模型将返回带有
function_call对象的响应。 - 您的代理执行函数并将结果发送回模型。
- 模型根据结果生成下一个响应。
这种多轮交互对于复杂的编程任务至关重要。例如,代理可能需要读取文件、分析文件,然后生成修复代码。我们的 API 可以无缝处理此过程,在 100,000 token 限制内保持多轮交互的上下文。
管理速率限制
为确保公平使用与稳定性,我们的 API 对每个密钥限制每分钟 300 个请求。最大请求体大小为 8 MB。若超出这些限制,你将收到 429 Too Many Requests 错误。
最佳实践:
- 在代理的重试逻辑中实现指数退避。
- 使用流式输出减少大型响应的 API 调用次数。
- 通过仪表板监控您的使用情况,以避免意外费用。
如果需要轮换密钥,您可以随时重新生成 API 密钥。这将使旧密钥失效,因此在重新生成之前请确保更新您的代理。