Base URL và Xác thực
API của chúng tôi tuân theo giao diện chat-completions chuẩn của OpenAI. Để tích hợp, hãy cập nhật cấu hình máy khách của bạn với địa chỉ URL cơ sở cụ thể của chúng tôi và một khóa codex api hợp lệ. Bạn tạo khóa này khi đăng ký trên bảng điều khiển. Endpoint chấp nhận cả yêu cầu tiêu chuẩn và truyền phát (streaming), giúp nó trở thành giải pháp thay thế trực tiếp cho hầu hết các tác nhân mã hóa chờ đợi cấu trúc tương thích OpenAI.
Xác thực dựa trên tiêu đề Authorization. Hãy bao gồm khóa của bạn dưới dạng mã thông báo Bearer. Nếu bạn đang sử dụng máy chủ trung gian hoặc khung tác nhân tùy chỉnh, hãy đảm bảo nó tuân thủ các tiêu đề HTTP tiêu chuẩn. Dịch vụ này độc lập; nó không định tuyến qua các nhà cung cấp khác hay tổng hợp các mô hình. Bạn đang kết nối trực tiếp với LLM không kiểm duyệt của chúng tôi.
Gửi Chat Completion
Hãy bắt đầu bằng cách kiểm tra một yêu cầu văn bản đơn giản. Điều này xác nhận rằng xác thực và địa chỉ URL cơ sở của bạn đều chính xác. Endpoint chấp nhận một danh sách các thông điệp với các vai trò như user hoặc assistant. ID mô hình luôn là uncensored. Yêu cầu này trả về phản hồi hoàn thành tiêu chuẩn. Hãy sử dụng điều này để xác minh rằng tác nhân của bạn có thể phân tích cấu trúc JSON trước khi chuyển sang các prompt phức tạp hơn.
Đảm bảo payload của bạn nằm trong giới hạn thân 8 MB. Các cửa sổ ngữ cảnh lớn được hỗ trợ, nhưng tổng số token (đầu vào cộng đầu ra) phải dưới 100.000 token. Nếu bạn vượt quá các giới hạn này, máy chủ sẽ trả về lỗi. Hãy bắt đầu với một bài kiểm tra nhỏ để xác minh kết nối.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Bật Streaming (SSE)
Đối với các agent mã hóa cần tạo token theo thời gian thực, hãy bật streaming. Đặt tham số stream thành true trong thân yêu cầu của bạn. Máy chủ trả về một chuỗi các Sự kiện do Máy chủ Gửi (SSE) thay vì một đối tượng JSON đơn lẻ. Mỗi sự kiện chứa một phần nhỏ của phản hồi. Điều này giảm độ trễ cảm nhận đối với người dùng của bạn và cho phép agent của bạn xử lý các token khi chúng đến.
Streaming không thay đổi giá hoặc đếm token. Bạn vẫn phải trả tiền cho tổng số token đầu vào và đầu ra. Xử lý luồng SSE trong mã client của bạn để tích lũy phản hồi cuối cùng hoặc xử lý nó theo từng bước. Điều này rất lý tưởng cho việc tạo mã nơi các kết quả trung gian hữu ích.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Sử dụng Tool Calling
Mô hình của chúng tôi hỗ trợ gọi hàm, cho phép agent của bạn thực thi các công cụ bên ngoài. Xác định các hàm của bạn trong tham số tools. Mô hình sẽ trả về phản hồi với một lệnh gọi công cụ thay vì văn bản thuần nếu nó xác định cần một hàm. Agent của bạn phải phân tích phản hồi này và thực thi công cụ, sau đó đưa kết quả trở lại cuộc trò chuyện.
Khả năng này rất quan trọng đối với các tác nhân mã hóa cần chạy mã, truy vấn cơ sở dữ liệu hoặc lấy dữ liệu trực tiếp. Lược đồ công cụ tuân theo định dạng chuẩn của OpenAI. Hãy đảm bảo tác nhân của bạn xử lý đúng vòng lặp giữa mô hình và logic thực thi công cụ của bạn. Điều này duy trì cửa sổ ngữ cảnh hiệu quả bằng cách thay thế văn bản thô bằng các kết quả công cụ có cấu trúc.
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Kiểm tra các Mô hình Khả dụng
Hãy sử dụng endpoint GET /v1/models để xác minh các mô hình có sẵn. Endpoint này trả về một danh sách các đối tượng mô hình, bao gồm cả ID và ngày tạo của chúng. API của chúng tôi phục vụ một mô hình duy nhất: uncensored. Không giống như các máy chủ trung gian tổng hợp nhiều nhà cung cấp, chúng tôi cung cấp một endpoint chuyên dụng cho một LLM được tối ưu hóa. Điều này đảm bảo hành vi nhất quán và hiệu suất dự đoán được cho các nhiệm vụ mã hóa của bạn.
Truy vấn endpoint này để xác nhận máy khách của bạn đã kết nối với dịch vụ đúng. Nó trả về các trường siêu dữ liệu tiêu chuẩn. Bạn không cần quản lý việc chọn mô hình thủ công. Máy khách chỉ yêu cầu ID của mô hình uncensored trong tất cả các hoàn thành hội thoại. Điều này đơn giản hóa việc tích hợp và tránh các lỗi định tuyến.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Giới hạn Tốc độ và Ràng buộc
Theo dõi mức sử dụng của bạn để tránh gián đoạn. API áp dụng giới hạn 300 yêu cầu mỗi phút mỗi khóa. Nếu bạn vượt quá giới hạn này, bạn sẽ nhận được lỗi 429 Quá nhiều Yêu cầu. Kích thước thân yêu cầu được giới hạn ở 8 MB. Các ràng buộc này đảm bảo hiệu suất ổn định cho các agent có thông lượng cao. Điều chỉnh tần suất yêu cầu của client nếu bạn đang xử lý các lô lớn.
Lỗi xác thực trả về trạng thái 401 nếu khóa không hợp lệ. Tín dụng không đủ dẫn đến trạng thái 402. Hãy đảm bảo số dư trả trước của bạn dương trước khi gửi yêu cầu. Tín dụng không bao giờ hết hạn, vì vậy bạn có thể nạp tiền khi thuận tiện. Khóa codex api có thể được tạo lại bất cứ lúc nào, vô hiệu hóa khóa cũ ngay lập tức. Hãy giữ khóa của bạn an toàn.