API codex OpenAI: Bắt đầu nhanh với Python
Hướng dẫn này cho cách sử dụng LLM không kiểm duyệt với các SDK OpenAI tiêu chuẩn thông qua API tương thích openai của chúng tôi. Bạn có thể bắt đầu gửi yêu cầu ngay lập tức bằng cách cập nhật URL cơ sở và khóa API.
Cài đặt SDK chính thức
Sử dụng SDK chính thức để đảm bảo tương thích với API proxy openai của chúng tôi. Cách tiếp cận này hoạt động với bất kỳ thư viện tiêu chuẩn nào hỗ trợ giao thức OpenAI.
- Cài đặt gói thư viện qua trình quản lý gói ưa thích của bạn.
- Xác minh cài đặt bằng cách nhập thư viện.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);
Đặt URL cơ sở và Khóa của bạn
Điểm client của bạn đến điểm cuối cổng openai của chúng tôi để truy cập mô hình AI không kiểm duyệt. Thay thế URL cơ sở mặc định bằng điểm cuối cụ thể của chúng tôi.
- Đặt khóa API trong các biến môi trường của bạn.
- Cấu hình URL gốc thành
https://api.openaicodexapi.com/v1.
Cấu hình này đảm bảo các yêu cầu của bạn được định tuyến đúng đến máy chủ của chúng tôi mà không cần sửa đổi cấu trúc mã hiện có của bạn.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
Gửi Yêu cầu đầu tiên của bạn
Gửi một yêu cầu hoàn thành văn bản đơn giản để kiểm tra kết nối. Sử dụng ID mô hình uncensored cho yêu cầu.
- Định nghĩa nội dung tin nhắn.
- Thực hiện yêu cầu.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Phản hồi trả về văn bản được tạo trực tiếp.
Bật phát trực tiếp và Chế độ JSON
Truyền phản hồi để giảm độ trễ hoặc buộc chế độ JSON cho dữ liệu có cấu trúc. Đặt stream=true cho việc phân phối token theo thời gian thực.
- Sử dụng
response_formatcho đầu ra JSON. - Xử lý các chunk trong mã của bạn.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'Tạo luồng giúp bạn hiển thị nhanh các kết quả từng phần.
Xử lý Công cụ và Gọi Hàm
Định nghĩa các công cụ trong yêu cầu của bạn để kích hoạt gọi hàm. Chỉ định các định nghĩa công cụ và để mô hình quyết định khi nào sử dụng chúng.
- Định nghĩa lược đồ hàm.
- Phân tích các lệnh công cụ trong phản hồi.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Tính năng này cho phép tích hợp với các hệ thống bên ngoài.
Giới hạn, Lỗi và Cửa sổ ngữ cảnh
Theo dõi mức sử dụng để tránh giới hạn tốc độ hoặc lỗi. Cửa sổ ngữ cảnh hỗ trợ tổng cộng 100,000 token.
- Xử lý lỗi 401 cho khóa không hợp lệ.
- Xử lý lỗi 402 cho số dư không đủ.
- Xử lý lỗi 429 cho giới hạn tốc độ.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);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)FAQ
API OpenAI Codex là gì?
Đây là API LLM không kiểm duyệt tương thích với giao thức OpenAI. Bạn có thể sử dụng nó với các SDK tiêu chuẩn bằng cách cập nhật base URL.
Làm thế nào để xử lý lỗi?
Các lỗi phổ biến bao gồm 401 cho khóa không hợp lệ, 402 khi không có tín dụng và 429 cho giới hạn tỷ lệ. Hãy kiểm tra số dư tài khoản và tính hợp lệ của khóa.
Kích thước context window là bao nhiêu?
Cửa sổ ngữ cảnh là 100,000 token cho cả prompt và kết quả kết hợp. Đầu ra tối đa là 16,000 token cho mỗi yêu cầu.
Lấy khóa API của bạn
Đăng ký, sao chép khóa và cập nhật URL base. Chỉ vậy thôi.