API codex OpenAI: شروع سریع با Python
این راهنما نحوه استفاده از LLM بدون سانسور با SDKهای استاندارد OpenAI از طریق API سازگار با openai را نشان میدهد. شما میتوانید با بهروزرسانی URL پایه و کلید API، بلافاصله شروع به ارسال درخواستها کنید.
نصب SDK رسمی
از SDK رسمی برای اطمینان از سازگاری با API پروکسی openai ما استفاده کنید. این روش با هر کتابخانه استانداردی که از پروتکل OpenAI پشتیبانی میکند کار میکند.
- پکیج را از طریق مدیر بسته مورد علاقه خود نصب کنید.
- بررسی کنید نصب را با وارد کردن کتابخانه.
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);
تنظیم URL پایه و کلید خود
مشتری خود را به نقطه پایانی دروازه openai ما هدایت کنید تا به مدل هوش مصنوعی بدون سانسور دسترسی پیدا کنید. URL پایه پیشفرض را با نقطه پایانی اختصاصی ما جایگزین کنید.
- کلید API را در متغیرهای محیطی خود تنظیم کنید.
- URL پایه را به
https://api.openaicodexapi.com/v1.
این پیکربندی تضمین میکند که درخواستهای شما به سرورهای ما بدون تغییر ساختار کد موجود هدایت میشوند.
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."}]
}'
اولین درخواست خود را ارسال کنید
یک تکمیل متن ساده ارسال کنید تا اتصال را آزمایش کنید. از شناسه مدل uncensored برای درخواست.
- محتوای پیام را تعریف کنید.
- درخواست را اجرا کنید.
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);پاسخ متن تولید شده را مستقیماً برمیگرداند.
فعالسازی جریانسازی و حالت JSON
پاسخها را برای تأخیر کمتر جریان دهید یا حالت JSON را برای دادههای ساختاریافته اعمال کنید. تنظیم stream=true برای تحویل توکن در زمان واقعی.
- استفاده
response_formatبرای خروجی JSON. - قطعات (chunks) را در کد خود مدیریت کنید.
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."}]
}'استریم به شما کمک میکند نتایج جزئی را بهسرعت نمایش دهید.
مدیریت ابزارها و فراخوانی تابع
ابزارها را در درخواست خود تعریف کنید تا قابلیتهای فراخوانی تابع را فعال کنید. تعاریف ابزار را مشخص کنید و بگذارید مدل تصمیم بگیرد چه زمانی از آنها استفاده کند.
- طرح تابع را تعریف کنید.
- فراخوانیهای ابزار را در پاسخ تجزیه کنید.
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);این قابلیت یکپارچهسازی با سیستمهای خارجی را امکانپذیر میکند.
محدودیتها، خطاها و پنجره زمینه
برای جلوگیری از محدودیتهای نرخ یا خطاها، مصرف خود را پایش کنید. پنجره متن از مجموع ۱۰۰,۰۰۰ توکن پشتیبانی میکند.
- خطاهای 401 را برای کلیدهای نامعتبر مدیریت کنید.
- خطاهای ۴۰۲ را برای اعتبار ناکافی مدیریت کنید.
- خطاهای ۴۲۹ را برای محدودیتهای نرخ درخواست مدیریت کنید.
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)سوالات متداول
API Codex OpenAI چیست؟
این یک API مدل زبانی بزرگ بدون سانسور است که با پروتکل OpenAI سازگار است. میتوانید از آن با SDKهای استاندارد با بهروزرسانی آدرس پایه استفاده کنید.
چگونه خطاها را مدیریت کنم؟
خطاهای رایج شامل 401 برای کلیدهای نامعتبر، 402 برای عدم وجود اعتبار و 429 برای محدودیت نرخ است. موجودی حساب و اعتبار کلید خود را بررسی کنید.
اندازه پنجره زمینه چقدر است؟
پنجره زمینه ۱۰۰,۰۰۰ توکن برای مجموع متن ورودی و خروجی است. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است.
کلید API خود را دریافت کنید
ثبتنام، کلید را کپی کنید و آدرس پایه را بهروز کنید. همین است.