مستندات API & شروع سریع
در عرض چند دقیقه با API LLM بدون سانسور شروع کنید. این جایگزین آمادهبهکار را در کد موجود خود قرار دهید و شروع به تولید متن بدون فیلترهای محتوا کنید.
URL پایه و احراز هویت
از URL پایه و یک کلید API واحد برای اتصال استفاده کنید. اندپوینت هدرهای استاندارد را میپذیرد. جایگزین YOUR_API_KEY با رشته از داشبورد خود.
- URL پایه:
https://api.ollamaopenaicompatibleapi.com/v1 - شناسه مدل:
uncensored
احراز هویت به یک توکن bearer متکی است. آن را در Authorization header. این سازگاری با هر کلاینت سازگار با SDK OpenAI را تضمین میکند. میتوانید یک کلید جدید را بلافاصله از طریق گوگل یا ایمیل تولید کنید. شماره تلفنی نیاز نیست.
نقطه پایانی تکمیل چت
یک درخواست POST به /v1/chat/completions. آرایه پیامها و نام مدل را شامل کنید. API بر اساس پرامپت شما خروجی متنی برمیگرداند. این روش با هر ارائهدهندهای که پارامترهای استاندارد را استفاده میکند کار میکند.
دمای را برای خلاقیت تنظیم کنید یا آن را پایین نگه دارید تا دقت را حفظ کنید. میتوانید دنبالههای توقف را نیز تعریف کنید. سرور درخواست را پردازش کرده و تکمیل را برمیگرداند. این تعامل اصلی برای بیشتر یکپارچهسازیها است.
به یاد داشته باشید که خطاها اعتبار پیشپرداخت شما را مصرف نمیکنند. فقط تکمیلهای موفق صورتحساب میشوند. این از بودجه شما در طول فازهای اشکالزدایی محافظت میکند.
curl https://api.ollamaopenaicompatibleapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 10 Linux kernel security patches from 2023"}]
}'
پاسخهای استریم از طریق SSE
استریمینگ را با تنظیم stream: true. سرور قطعات را همانطور که تولید میشوند ارسال میکند. این موضوع تأخیر ادراکشده را به طور قابل توجهی کاهش میدهد. شما پاسخهای جزئی را به صورت بلادرنگ دریافت میکنید.
جریان رویدادهای ارسالی سرور (SSE) را تجزیه کنید. آخرین قطعه شامل آمار مصرف است. این شامل شمارش توکنها برای ورودی و خروجی میشود. میتوانید هزینهها را در حین تولید بهصورت پویا ردیابی کنید.
این رویکرد برای رابطهای چت خوب کار میکند. کاربران متن را میبینند که کلمه به کلمه ظاهر میشود. این حس پاسخگویی بیشتری نسبت به انتظار برای پاسخ کامل دارد. API پایداری اتصال را بهطور خودکار مدیریت میکند.
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)
فراخوانی تابع و حالت JSON
ابزارها را در بدنه درخواست خود تعریف کنید. مدل میتواند دادههای ساختاریافته خروجی دهد. از response_format با {"type": "json_object"} برای JSON دقیق. این تضمین میکند که خروجی هر بار قابل تجزیه باشد.
تعاریف ابزار شامل نام، توضیحات و پارامترها هستند. مدل تصمیم میگیرد کدام ابزار را فراخوانی کند. تابع را اجرا میکنید و نتایج را باز میگردانید. این اجازه میدهد تا جریانهای کاری عامل پیچیده ایجاد کنید.
حالت JSON تولید متن آزاد را غیرفعال میکند. این مدل را مجبور میکند به طرحواره شما پایبند باشد. از این حالت زمانی که با پایگاههای داده یا APIها یکپارچه میشوید استفاده کنید. این حالت توهم در فیلدهای ساختاریافته را کاهش میدهد.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaopenaicompatibleapi.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)
محدودیتهای نرخ و بدنههای درخواست
شما ۳۰۰ درخواست در دقیقه به ازای هر کلید دریافت میکنید. همزمانی به ۸ درخواست همزمان محدود است. حداکثر اندازه بدنه درخواست ۸ مگابایت است. این مورد برای بیشتر برنامههای متنی مناسب است.
پنجره زمینه اجازه ۱۰۰,۰۰۰ توکن در مجموع را میدهد. این شامل هم پرامپت و هم تکمیل است. حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است. اگر نادیده بگیرید max_tokens, به طور پیشفرض روی 2,048 تنظیم میشود.
خطاهای HTTP 429 را به صورت ایمن مدیریت کنید. آنها نشان میدهند که به محدودیت نرخ رسیدهاید. در کد کلاینت خود بازگشت نمایی را پیادهسازی کنید. این کار از تحت فشار قرار گرفتن سرور در زمانهای اوج جلوگیری میکند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamaopenaicompatibleapi.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 به معنای نامعتبر بودن کلید شماست. وجود غلط املایی یا منقضی شدن نشستها را بررسی کنید. کد وضعیت 402 نشاندهنده عدم موجودی اعتبار است. برای ادامه سرویس، حساب خود را از طریق ارز دیجیتال شارژ کنید.
وضعیت 428 نشاندهنده محدودیت نرخ است. شما از 300 درخواست در دقیقه تجاوز کردهاید. نرخ انتقال داده خود را کاهش دهید یا کلید خود را ارتقا دهید. API پیامهای خطای واضحی برمیگرداند.
اعتبار شما منقضی نمیشود. میتوانید هر زمان شارژ کنید. حداقل مبلغ شارژ $20 است. اعتبار هدیه برای مبالغ بزرگتر اعمال میشود. این موضوع باعث میشود پروژه شما به روانی پیش برود.
سوالات متداول
آدرس پایه (base URL) API LLM uncensored چیست؟
URL پایه HTTPS://api.ollamaopenaicompatibleapi.com/v1 است. از این نقطه پایانی برای تمام درخواستهای تکمیل چت استفاده کنید. با SDKهای استاندارد OpenAI سازگار است.
مدل چه مقدار پنجره زمینه را پشتیبانی میکند؟
مدل از پنجره زمینه ۱۰۰,۰۰۰ توکنی پشتیبانی میکند. این شامل توکنهای پرامپت و تکمیل میشود. حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است.
اگر به محدودیت نرخ برسم چه اتفاقی میافتد؟
کد وضعیت HTTP ۴۲۹ دریافت میکنید. این به معنای تجاوز از ۳۰۰ درخواست در دقیقه است. چند ثانیه صبر کنید و با استفاده از backoff مجدداً تلاش کنید.
کلید خود را در یک دقیقه دریافت کنید
ثبتنام کنید، کلید را بگیرید و base URL خود را بهروزرسانی کنید. تمام.