مستندات API
در عرض چند دقیقه با API سازگار با OpenAI و بدون سانسور ما شروع کنید. از کلید API که تولید کردهاید برای ارسال درخواست به اندپوینت تکمدلی ما استفاده کنید.
هدرهای احراز هویت
شما glm api key هر درخواست را مجاز میسازد. آن را در Authorization هدر به عنوان یک توکن Bearer. این روش استاندارد مورد استفاده توسط SDKهای رسمی OpenAI است و با هر کلاینتی که احراز هویت سازگار با OpenAI را پشتیبانی میکند کار میکند. این کلید را بلافاصله پس از ثبتنام با گوگل یا ایمیل در داشبورد دریافت میکنید.
کلید خود را امن نگه دارید. این کلید دسترسی کامل به اعتبار پیشپرداخت شما را فراهم میکند. در صورت گم شدن آن، کلید جدیدی تولید کنید؛ کلید قدیمی بلافاصله نامعتبر میشود. در هر زمان فقط میتوانید یک کلید فعال برای هر حساب کاربری داشته باشید.
نقطه پایانی تکمیل چت
پیامهای متنی را به مدل ارسال کنید از طریق POST /v1/chat/completions نقطه پایانی. URL پایه برای تمام درخواستها https://api.apiglm.com/v1. باید شناسه مدل را به عنوان uncensored در بدبه درخواست. این نقطه پایانی نوبتهای مکالمه استاندارد را مدیریت میکند و متن تولید شده را برمیگرداند.
هر درخواست توکنها را از موجودی پیشپرداخت شما مصرف میکند. خطاها و رد شدنها اعتبار شما را شارژ نمیکنند. مدل از یک دنباله پیامها پشتیبانی میکند که امکان مکالمات چندمرحلهای را درون پنجره زمینه فراهم میسازد.
curl https://api.apiglm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the features"}]
}'
نقطه پایانی مدلها
مدلهای موجود و پیکربندی نقطه پایدار را با فراخوانی GET /v1/models. این انتهایبند، لیستی از مدلهای پشتیبانیشده فعلی توسط API را برمیگرداند. میتوانید از این برای تأیید اتصال و بررسی شناسه مدل قبل از ارسال درخواستهای تکمیل استفاده کنید. برای اشکالزدایی پیکربندیهای کلاینت مفید است.
پاسخ شامل متادادههایی درباره مدل است، مانند شناسه مدل و فیلد owned_by. این نقطه پایانی اعتبار مصرف نمیکند. از آن برای اطمینان از اینکه کلاینت شما به URL پایه صحیح اشاره میکند و هدر احراز هویت شما معتبر است، استفاده کنید.
جریانسازی و SSE
خروجی توکن را با تنظیم stream: true در درخواست شما. API یک جریان رویدادهای ارسالی سرور (SSE) را برمیگرداند. هر قطعه شامل تغییرات متن جزئی است. قطعه نهایی شامل آمار کامل مصرف توکن برای درخواست است.
استریمینگ تأخیر ادراکشده را برای کاربران نهایی کاهش میدهد. به برنامه شما امکان میدهد توکنها را همانطور که تولید میشوند نمایش دهد. این روش برای رابطهای چت که بازخورد فوری مورد انتظار است، ایدهآل است. استریم را به درستی مدیریت کنید تا اطمینان حاصل شود که تمام توکنها پردازش میشوند.
from openai import OpenAI
client = OpenAI(base_url="https://api.apiglm.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)
Function Calling
ابزارها را در درخواست خود تعریف کنید تا قابلیتهای فراخوانی تابع را فعال کنید. مدل میتواند JSON ساختاریافتهای را بازگرداند که مشخص میکند کدام تابع فراخوانی شود و آرگومانهای آن چیست. این امکان را به برنامه شما میدهد تا کد را بر اساس قصد کاربر اجرا کند. پشتیبانی شامل تعاریف ابزار، انتخاب ابزار و حالت JSON برای قالببندی دقیق خروجی است.
از این ویژگی برای یکپارچهسازی LLM در جریان کار خود استفاده کنید. طرح تابع را در بدنه درخواست تعریف کنید. مدل با لیستی از فراخوانیهای ابزار پاسخ میدهد. این فراخوانیها را در کد خود تجزیه کنید تا اقدامات خارجی را فعال کنید. این امر وظایف پیچیده و چندمرحلهای را امکانپذیر میسازد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiglm.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);
پارامترها & محدودیتها
پنجره زمینه (context window) از ۱۰۰,۰۰۰ توکن برای ورودی (prompt) و خروجی (completion) ترکیبی پشتیبانی میکند. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است. تنظیم max_tokens برای کنترل طول خروجی. پیشفرض ۲,۰۴۸ توکن است اگر مشخص نشده باشد. میتوانید دما، top_p و seed را برای تغییرپذیری تنظیم کنید.
محدودیتهای نرخ اجازه ۳۰۰ درخواست در دقیقه به ازای هر کلید را میدهند. درخواستهای همزمان به ۸ درخواست به ازای هر کلید محدود میشوند. حجم بدنه درخواست باید کمتر از ۸ مگابایت باشد. خطاها کدهای وضعیت HTTP استاندارد را برمیگردانند. خطای ۴۰۱ نشاندهنده کلید نامعتبر است. خطای ۴۰۲ به معنای تمام شدن اعتبار شما است. خطای ۴۲۹ نشان میدهد که محدودیت نرخ تجاوز شده است.
جریانسازی
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 چیست؟
آدرس پایه برابر است با HTTPS://api.apiglm.com/v1. تمام نقاط پایان، از جمله تکمیلهای چت و مدلها، نسبت به این آدرس هستند. از این آدرس در پیکربندی SDK یا کلاینت HTTP خود استفاده کنید.
چگونه پاسخهای جریان را مدیریت کنم؟
پارامتر stream را روی true در درخواست خود تنظیم کنید. API یک جریان SSE برمیگرداند. هر قطعه شامل متن جزئی است. قطعه نهایی شامل استفاده از توکن است. هر قطعه را هنگام رسیدن پردازش کنید تا خروجی بلادرنگ نمایش داده شود.
اگر از محدودیت نرخ عبور کنم چه اتفاقی میافتد؟
API کد وضعیت 429 را برمیگرداند. محدودیت شما 300 درخواست در دقیقه و 8 درخواست همزمان در هر کلید است. منتظر بازنشانی پنجره محدودیت بمانید یا فرکانس درخواستهای خود را کاهش دهید.
کلید خود را فوری دریافت کنید
ثبتنام کنید، کلید را کپی کنید، URL پایه خود را بهروزرسانی کنید. همین است.