پرش به مطلب اصلی

مدل‌های 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 قابلیت را از نمایه زمان اجرای همان مدل بررسی می‌کند و ترکیب ناسازگار را پیش از ارسال و صورتحساب رد می‌کند.

ساخت حساب ارائه‌دهنده

  1. در پنل مدیریت، بخش «اتصال‌دهنده‌های LLM» را باز کنید.
  2. ارائه‌دهنده Moonshot را انتخاب کنید.
  3. روش API Key را انتخاب و کلید Moonshot را وارد کنید.
  4. نشانی پایه را روی مقدار پیش‌فرض https://api.moonshot.ai/v1 نگه دارید.
  5. تست اتصال را اجرا کنید. این تست فقط GET /v1/models را می‌خواند و درخواست قابل‌صورتحساب تولید نمی‌کند.
  6. چهار مدل موردنیاز را برای حساب فعال و دسترسی مصرف‌کنندگان را تعیین کنید.

گدار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 به معنی آمادگی تولید است؟

خیر. آزمون زنده محدود فقط اتصال و قرارداد پایه را بررسی می‌کند. تأیید بار، تطبیق صورتحساب، حریم خصوصی، مشاهده‌پذیری و بازگشت نسخه همچنان لازم است.