مدلهای Moonshot AI و Kimi
گدارAI چهار مدل Moonshot را از مسیر سازگار با OpenAI پشتیبانی میکند. اپلیکیشن شما درخواست را با توکن گدارAI به POST /v1/chat/completions میفرستد؛ کلید خام Moonshot فقط در حساب ارائهدهنده نگهداری میشود.
این راهنما بر اساس فهرست مدلهای رسمی Kimi، نمای کلی مدلها، قرارداد Chat Completions و OpenAPI رسمی بازبینیشده در ۱۹ مرداد ۱۴۰۵ نوشته شده است. قیمت و سهمیه ممکن است تغییر کند؛ پیش از تصمیم مالی، صفحه رسمی همان مدل را دوباره بررسی کنید.
انتخاب مدل
| شناسه مدل | پنجره زمینه | ورودی | حالت استدلال | کاربرد پیشنهادی |
|---|---|---|---|---|
kimi-k3 | ۱٬۰۴۸٬۵۷۶ توکن | متن، تصویر، ویدئو | همیشه فعال؛ low، high یا max | کارهای پیچیده، زمینه بسیار بلند و چندرسانهای |
kimi-k2.7-code | ۲۶۲٬۱۴۴ توکن | متن | همیشه فعال | کدنویسی عاملمحور و کار با ابزار |
kimi-k2.7-code-highspeed | ۲۶۲٬۱۴۴ توکن | متن | همیشه فعال | همان توانایی کدنویسی با اولویت سرعت |
kimi-k2.6 | ۲۶۲٬۱۴۴ توکن | متن و تصویر | قابل فعال یا غیرفعالکردن | گفتوگوی عمومی، بینایی و کنترل هزینه |
هر چهار مدل از فراخوانی تابع، فراخوانی موازی ابزار، پیام سیستمی، کش پرامپت و خروجی ساختاریافته پشتیبانی میکنند. گدارAI قابلیت را از نمایه زمان اجرای همان مدل بررسی میکند و ترکیب ناسازگار را پیش از ارسال و صورتحساب رد میکند.
ساخت حساب ارائهدهنده
- در پنل مدیریت، بخش «اتصالدهندههای LLM» را باز کنید.
- ارائهدهنده
Moonshotرا انتخاب کنید. - روش API Key را انتخاب و کلید Moonshot را وارد کنید.
- نشانی پایه را روی مقدار پیشفرض
https://api.moonshot.ai/v1نگه دارید. - تست اتصال را اجرا کنید. این تست فقط
GET /v1/modelsرا میخواند و درخواست قابلصورتحساب تولید نمیکند. - چهار مدل موردنیاز را برای حساب فعال و دسترسی مصرفکنندگان را تعیین کنید.
گدارAI برای این اتصال فقط میزبان رسمی api.moonshot.ai را میپذیرد. کلید را در پرامپت، کد اپلیکیشن یا هدر درخواست مصرفکننده قرار ندهید.
درخواست همگام
curl "$GODARAI_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $GODARAI_VIRTUAL_KEY" \
-H "Content-Type: application/json" \
-H "x-godarai-provider: moonshot" \
-H "x-godarai-provider-account: $MOONSHOT_ACCOUNT_ID" \
-d '{
"model": "kimi-k3",
"messages": [{"role": "user", "content": "سه ریسک اصلی این طرح را خلاصه کن."}],
"reasoning_effort": "low",
"max_completion_tokens": 256
}'
در kimi-k3 پارامتر thinking نفرستید و برای کنترل عمق استدلال از reasoning_effort استفاده کنید. مدلهای K2.7 پارامتر reasoning_effort را نمیپذیرند و تفکرشان همیشه فعال است. در kimi-k2.6 میتوانید thinking: {"type":"disabled"} بفرستید. پارامترهای temperature و top_p در این مدلها ثابتاند؛ گدارAI آنها را پیش از ارسال حذف میکند تا مقدار ثابت خود مدل اعمال شود.
پاسخ جریانی
curl -N "$GODARAI_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $GODARAI_VIRTUAL_KEY" \
-H "Content-Type: application/json" \
-H "x-godarai-provider: moonshot" \
-H "x-godarai-provider-account: $MOONSHOT_ACCOUNT_ID" \
-d '{
"model": "kimi-k2.7-code-highspeed",
"messages": [{"role": "user", "content": "یک تابع Go برای حذف تکراریها بنویس."}],
"stream": true,
"stream_options": {"include_usage": true},
"max_completion_tokens": 512
}'
رویدادهای SSE را تا دریافت [DONE] بخوانید. اگر پاسخ شامل reasoning_content است، پیام assistant را برای نوبت بعدی کامل و بدون بازنویسی نگه دارید؛ گدارAI این فیلد را در رفتوبرگشت حفظ میکند.
حلقه فراخوانی ابزار
درخواست اول تعریف ابزار را میفرستد. اگر پاسخ tool_calls داشت، ابزار را در اپلیکیشن اجرا کنید و نتیجه را با نقش tool و همان tool_call_id برگردانید:
{
"model": "kimi-k2.7-code",
"messages": [
{ "role": "user", "content": "نسخه منتشرشده پروژه را پیدا کن." },
{
"role": "assistant",
"content": "",
"reasoning_content": "...",
"tool_calls": [
{
"id": "call_1",
"type": "function",
"function": { "name": "get_release", "arguments": "{}" }
}
]
},
{ "role": "tool", "tool_call_id": "call_1", "content": "v2.4.0" }
],
"tools": [
{
"type": "function",
"function": {
"name": "get_release",
"description": "Return the latest release tag",
"parameters": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}
}
]
}
برای مدلهای K2.6 و K2.7 مقدار tool_choice: "required" پشتیبانی نمیشود. در K2.7 فقط از auto یا none استفاده کنید، چون تفکر همیشه فعال است و انتخاب مستقیم تابع با آن سازگار نیست. در K2.6 انتخاب مستقیم تابع فقط همراه با thinking: {"type":"disabled"} معتبر است.
ورودی تصویر و ویدئو
هر چهار مدل فعلی Moonshot در گدارAI ورودی متن، تصویر و ویدئو را میپذیرند. نمونه ویدئو برای K3:
{
"model": "kimi-k3",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "رخدادهای مهم این ویدئو را فهرست کن."
},
{
"type": "video_url",
"video_url": { "url": "https://example.com/clip.mp4" }
}
]
}
]
}
نشانی رسانه باید برای سرویس بالادستی قابل دسترسی باشد. مدل نامتناسب با نوع رسانه پیش از ارسال رد میشود.
قیمت کاتالوگ
مبالغ زیر دلار بهازای یک میلیون توکناند و از صفحات رسمی قیمت در تاریخ بازبینی این راهنما ثبت شدهاند:
| مدل | ورودی عادی | ورودی کششده | خروجی |
|---|---|---|---|
kimi-k3 | ۳٫۰۰ | ۰٫۳۰ | ۱۵٫۰۰ |
kimi-k2.7-code | ۰٫۹۵ | ۰٫۱۹ | ۴٫۰۰ |
kimi-k2.7-code-highspeed | ۱٫۹۰ | ۰٫۳۸ | ۸٫۰۰ |
kimi-k2.6 | ۰٫۹۵ | ۰٫۱۶ | ۴٫۰۰ |
منابع قیمت: Kimi K3، Kimi K2.7 Code و Kimi K2.6. گدارAI ورودی عادی، خواندن از کش و کل خروجی را جدا محاسبه میکند و در صورت نبود قیمت کامل، درخواست را fail-closed متوقف میکند. reasoning_content جزئی از توکن خروجی گزارششده است و دوباره محاسبه نمیشود.
محدودیتهای فعلی
- فقط
GET /v1/modelsوPOST /v1/chat/completionsبرای این اتصال فعالاند. - Files، Batch، Embeddings، Web Search داخلی ارائهدهنده و سایر مسیرهای مستندنشده تا تکمیل قرارداد، صورتحساب و آزمون زنده در گدارAI غیرفعالاند.
- پارامتر
parallel_tool_callsدر قرارداد رسمی Moonshot مستند نشده است و گدارAI آن را نمیپذیرد. - محدودیت نرخ به سطح و موجودی حساب Moonshot وابسته است. مقدار ثابت در گدارAI کدنویسی نشده و هدرهای محدودیت نرخ و
Retry-Afterبالادست به مصرفکننده منتقل میشوند. - گدارAI درخواستهای
POSTرا خودکار تکرار نمیکند تا پاسخ یا هزینه تکراری ایجاد نشود. - نتیجه ابزار را داده نامطمئن در نظر بگیرید و قبل از عملیات حساس اعتبارسنجی کنید.
رفع خطاهای رایج
| خطا | راهحل |
|---|---|
| نمایه زمان اجرای مدل در دسترس نیست | واردسازی کاتالوگ را بررسی کنید و فقط یکی از چهار شناسه دقیق بالا را بفرستید. |
tool_choice=required پشتیبانی نمیشود | برای مدلهای K2 از auto یا none استفاده کنید. |
| انتخاب مستقیم تابع با تفکر فعال است | در K2.6 تفکر را غیرفعال کنید؛ در K3 و K2.7 از auto یا none استفاده کنید. |
| پارامتر نمونهبرداری پشتیبانی نمیشود | top_k، seed، random_seed و logit_bias را از درخواست حذف کنید. |
| نوع رسانه پشتیبانی نمیشود | نوع بخش محتوا را روی text، image_url یا video_url تنظیم کنید. |
| خطای ۴۲۹ | سهمیه حساب را در Moonshot بررسی و زمان Retry-After را رعایت کنید. |
پرسشهای پرتکرار
آیا میتوان کلید Moonshot را مستقیم به گدارAI API فرستاد؟
خیر. درخواست مصرفکننده باید توکن گدارAI داشته باشد. کلید Moonshot در حساب ارائهدهنده ثبت و رمزگذاری میشود.
برای کدنویسی کدام مدل را انتخاب کنم؟
از kimi-k2.7-code برای تعادل هزینه و توانایی و از kimi-k2.7-code-highspeed وقتی تأخیر کمتر ارزش هزینه بیشتر را دارد استفاده کنید.
آیا عبور smoke test به معنی آمادگی تولید است؟
خیر. آزمون زنده محدود فقط اتصال و قرارداد پایه را بررسی میکند. تأیید بار، تطبیق صورتحساب، حریم خصوصی، مشاهدهپذیری و بازگشت نسخه همچنان لازم است.