Gateway آیراکد
Gateway سازگار با Messages که ترافیک مدل AiraCode رو از طریق آیراچت مسیریابی میکنه.
Gateway درخواستهای سازگار با Messages رو با احراز هویت JWT آیراچت دریافت میکنه، laneهای هوشمند آیرا مثل aira-balanced رو حل میکنه، و پاسخ رو بهصورت stream به CLI برمیگردونه.
Endpointها
POST /v1/messages
این endpoint همون شکل درخواست Messages رو که AiraCode و clientهای سازگار استفاده میکنن میپذیره. baseURL رو روی Gateway بذار و از یک bearer token آیراچت استفاده کن.
curl -X POST \
-H "Authorization: Bearer $AIRA_API_KEY" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "aira-balanced",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Who are you?"}]
}' \
https://app.airachat.ir/api/airacode/gateway/v1/messagesstreaming از Server-Sent Events استفاده میکنه.
curl -N -X POST \
-H "Authorization: Bearer $AIRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"aira-fast","stream":true,"max_tokens":64,"messages":[{"role":"user","content":"Say ping"}]}' \
https://app.airachat.ir/api/airacode/gateway/v1/messagesGET /v1/models
laneهای هوشمند و شناسههای مستقیم provider/model در دسترس از طریق Gateway رو برمیگردونه.
curl -H "Authorization: Bearer $AIRA_API_KEY" \ https://app.airachat.ir/api/airacode/gateway/v1/models
POST /v1/messages/count_tokens
هرجا در دسترس باشه، شمارش token خود provider رو برمیگردونه؛ برای مسیرهایی که upstream شمارش نداره، یک تخمین local بهعنوان fallback.
حل اسم مدل
- laneهای هوشمند مثل
aira-codeبه یک استخر مدلِ انتخابشده برای اون task مسیریابی میشن. - شناسههای مستقیم به فرمت
provider/modelوقتی مسیریابی مستقیم مجاز باشه پاس داده میشن. - aliasهای ذخیرهشده و نامهای سازگار قبل از بررسی allowlist نرمالسازی میشن.
- اسمهای نامعتبر یا در دسترسنبودن،
400 model_not_allowedبرمیگردونن.
احراز هویت
همهٔ endpointها به Authorization: Bearer <JWT> نیاز دارن. برای CLI از aira login استفاده کن یا در محیطهای headless مقدارAIRA_API_KEY رو ست کن.
کلید خودت (BYOK)
اگه ترجیح میدی هزینهٔ inference رو مستقیم به provider خودت بدی و از AiraCode فقط بهعنوان لایهٔ حافظه و شناخت استفاده کنی، بهجای مسیریابی از Gateway کلید خودت رو ست کن:
export OPENROUTER_API_KEY="sk-or-v1-..." # or AIRA_BYOK_OPENAI / AIRA_BYOK_ANTHROPIC aira
توی این حالت فقط عملیات حافظه (recall و save) از AiraCredit خرج میکنه؛ هزینهٔ token مستقیم به provider تو میره. تنظیم دائمی BYOK: app.airachat.ir/settings/level؛ جزئیات هزینه در قیمتگذاری و اعتبار.
خطاها
401— bearer token وجود نداره، منقضی شده یا نامعتبره.402 insufficient_credits— اعتبار AiraCredit کافی نیست؛ باaira topupشارژ کن. جزئیات در قیمتگذاری و اعتبار.400 model_not_allowed— مدل داخل allowlist Gateway نیست.502— مدل یا مسیر upstream انتخابشده موقتاً در دسترس نیست.503— Gateway تنظیمات لازم provider رو نداره.