پیشنیازها: SDK و محیط
ابتدا SDK سازگار با OpenAI مورد علاقه خود را نصب کنید. شما فقط به یک کلید API معتبر و URL پایه سرویس ما نیاز دارید.
کلید را به متغیرهای محیطی خود صادر کنید تا اسکریپتهای شما بتوانند به صورت امن به آن دسترسی داشته باشند. یک حساب کاربری جدید از طریق گوگل یا ایمیل ایجاد کنید تا کلید خود را به سرعت دریافت کنید. برای این مرحله نیاز به تأیید شماره تلفن نیست.
اطمینان حاصل کنید که محیط شما از کتابخانههای استاندارد HTTP پشتیبانی میکند. API برای تمام درخواستها، پیکربندیهای استاندارد JSON را انتظار دارد. شما نیازی به نصب درایورهای خاص فروشنده ندارید.
تنظیم base URL
مشتری SDK خود را به نقطه پایانی اختصاصی ما برای استنتاج بدون سانسور پیکربندی کنید. URL پایه، نقطه پایانی استاندارد OpenAI را در پیکربندی شما جایگزین میکند.
از HTTPS://api.apikeymistral.com/v1 به عنوان URL پایه خود استفاده کنید. این اطمینان حاصل میکند که تمام درخواستها از طریق سرورهای با ظرفیت بالا ما هدایت میشوند. نیازی به تغییر مسیر نقطه پایانی (endpoint) ندارید، اگر SDK شما به /chat/completions پیشفرض دارد.
کلید API خود را در حافظه یا یک گاوصندوق امن نگه دارید. کلید هر درخواستی که به این URL ارسال میکنید را احراز هویت میکند.
انجام اولین درخواست POST
یک درخواست تکمیل چت استاندارد ارسال کنید تا خروجی متنی دریافت کنید. از شناسه مدل "uncensored" برای دسترسی به مدل بهینهشده ما استفاده کنید.
دما و سایر پارامترها را برای کنترل خلاقیت مشخص کنید. اندپوینت بدنههای JSON استاندارد با آرایه پیامها را میپذیرد.
در اینجا یک دستور curl پایه برای آزمایش اتصال آورده شده است:
curl https://api.apikeymistral.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "return json object with keys name age"}]
}'بررسی کنید که پاسخ شامل متن تولید شده است. کد وضعیت را ۲۰۰ برای موفقیت بررسی کنید.
یکپارچهسازی SDK پایتون
مشتری Python را پیکربندی کنید تا از URL پایه ما استفاده کند. مشتری را با کلید API و نقطه پایانی سفارشی مقداردهی اولیه کنید.
متد chat.completions.create را با پرامپت خود فراخوانی کنید. شیء پاسخ، متن تولید شده را در choices[0].message.content شامل میشود.
خطاهای احتمالی مانند محدودیت نرخ یا کلیدهای نامعتبر را بهخوبی مدیریت کنید. در صورت نیاز برای ردیابی هزینه، مصرف توکن را ثبت کنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeymistral.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)این روش با هر کتابخانه سازگار با OpenAI کار میکند. میتوانید کد موجود را با تغییرات حداقلی بازنویسی کنید.
یکپارچهسازی Node SDK
کلاینت Node.js را با URL پایه سفارشی مقداردهی اولیه کنید. کلید API خود را در شی پیکربندی وارد کنید.
تابع chat.completions.create را با پارامترهای دلخواه خود فراخوانی کنید. پاسخ از فرمت استاندارد OpenAI پیروی میکند.
استریم یا پاسخ نهایی را همانطور که نیاز است پردازش کنید. مدیریت خطا باید مشکلات شبکه یا شکستهای احراز هویت را بگیرد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apikeymistral.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);این پیکربندی به شما اجازه میدهد استنتاج بدون سانسور را به سرعت در برنامههای Node خود یکپارچه کنید.
مدیریت پاسخهای جریانسازی
با تنظیم stream=true در درخواست خود، پخش زنده را فعال کنید. 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)استریمینگ تأخیر ادراکشده را برای پاسخهای طولانی کاهش میدهد. این روش برای رابطهای چت و برنامههای تعاملی ایدهآل است.
Limits, errors, and context window
محدودیتهای فنی را درک کنید تا از وقفههای سرویس جلوگیری کنید. پنجره متن از 100,000 توکن برای پرامپت و تکمیل ترکیبی پشتیبانی میکند.
حداکثر خروجی 16,000 توکن در هر درخواست است. max_tokens را به صراحت تنظیم کنید تا به پیشفرض 2,048 برخورد نکنید.
محدودیتهای نرخ اجازه ۳۰۰ درخواست در دقیقه به ازای هر کلید را میدهند. میتوانید ۸ درخواست همزمان در یک زمان داشته باشید.
خطاهای 401 را با بررسی اعتبار کلید خود مدیریت کنید. خطاهای 402 نشاندهنده اعتبار ناکافی است. خطاهای 429 یعنی به محدودیت نرخ رسیدهاید.
درخواستهایی که از محدودیت اندازه بدنه ۸ مگابایت تجاوز کنند، شکست میخورند. پیکربندی payload خود را متناسب با آن برنامهریزی کنید.