什麼是 Codex API?
codex api一詞通常指專門用於程式碼生成與理解的 AI 模型所使用的介面。最初由 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 金鑰。這會使舊金鑰失效,因此在重新產生之前請務必更新你的代理程式。