URL پایه و احراز هویت
به API متصل شوید و از URL پایه و کلید توکن پیشپرداخت ارائهشده استفاده کنید. احراز هویت با ارسال کلید API خود در هدر درخواست انجام میشود که تضمین میکند فقط حساب شما به اعتبارهای خود دسترسی دارد. با ثبتنام از طریق گوگل یا ایمیل، کلید خود را بلافاصله و بدون نیاز به تأیید شماره تلفن دریافت کنید.
curl https://api.kimicodeapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current rate limit for free tier users?"}]
}'درخواستهای شما به نقطه پایانی استاندارد سازگار با OpenAI هدفگذاری میشوند. این طراحی به شما امکان میدهد سرویس ما را بدون بازنویسی کد کلاینت موجود خود جایگزین کنید، به شرطی که URL پایه و اعتبارنامهها را بهروزرسانی کنید.
نقطه پایانی تکمیل چت
پیامها را به مدل با استفاده از POST /v1/chat/completions نقطه پایانی. باید شناسه مدل را به عنوان uncensored برای دسترسی به مدل زبانی بزرگ بهینهسازی شده اجرا شده روی سرورهای ما. سیستم نقشهای پیام استاندارد مانند user یا assistant را برای مکالمات چندمرحلهای میپذیرد.
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicodeapi.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)این اندپوینت، ورودی متن را میپذیرد و متن تولید شده را برمیگرداند. از embeddings، تصاویر یا صدا پشتیبانی نمیکند. روی ساختار پرامپت خود تمرکز کنید تا بهترین نتایج را از مدل بدون سانسور دریافت کنید.
پاسخهای استریم (SSE)
با تنظیم پارامتر stream به true در درخواست، تحویل توکنها را به صورت بلادرنگ فعال کنید. API قطعات Server-Sent Events (SSE) را برمیگرداند که به برنامه شما اجازه میدهد متن را هنگام تولید نمایش دهد. قطعه نهایی شامل آمار کامل مصرف توکن برای صورتحساب است.
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 از پارامترهای tool_choice پشتیبانی میکند که به شما امکان میدهد مدل را مجبور به استفاده از یک ابزار خاص کنید یا اجازه دهید به صورت خودمختار تصمیم بگیرد. این ویژگی با فرمتهای استاندارد ابزار OpenAI کار میکند و ادغام آن را ساده میسازد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.kimicodeapi.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 شامل آرگومانهای ضروری را برمیگرداند. این قابلیت API را فراتر از تولید متن ساده گسترش میدهد.
حالت JSON و پارامترها
خروجی JSON دقیق را با تنظیم response_format به {"type": "json_object"}. این امر تضمین میکند که مدل JSON معتبر را بازگرداند که برای تجزیه برنامهنویسی حیاتی است. همچنین میتوانید پارامترهایی مانند دما، top_p و دنبالههای توقف را برای کنترل خلاقیت و طول خروجی تنظیم کنید.
مدل از پنجره زمینه ۱۰۰,۰۰۰ توکنی پشتیبانی میکند. این امکان را به شما میدهد که مقادیر زیادی از زمینه را در یک درخواست واحد ارسال کنید. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است، یا ۲,۰۴۸ اگر max_tokens را مشخص نکنید.
محدودیتها، خطاها و زمینه
محدودیتهای درخواست خود را پایش کنید تا از وقفههای سرویس جلوگیری شود. این API اجازه ۳۰۰ درخواست در دقیقه به ازای هر کلید و تا ۸ درخواست همزمان را میدهد. بدنه درخواست شما باید زیر ۸ مگابایت باشد. اگر از این محدودیتها فراتر روید، خطای محدودیت نرخ ۴۲۹ را دریافت خواهید کرد.
شکستهای احراز هویت خطای 401 را برمیگردانند اگر کلید نامعتبر باشد. خطای 402 نشاندهنده اعتبار پیشپرداخت ناکافی است. خطاها در حین تولید توکنهای شما را مصرف نمیکنند. پنجره زمینه شامل توکنهای پرامپت و تکمیل است. اعتبار استفاده نشده هرگز منقضی نمیشود، بنابراین موجودی پیشپرداخت شما برای پروژههای آینده در دسترس باقی میماند.