Kimi K3
استدعِ Kimi K3 عبر واجهة API الرسمية بصيغة Chat Completions أو Responses أو Anthropic Messages: نافذة سياق بـ 1M توكن، واستدلال مفعّل دائمًا، ومستوى الاستدلال الذي تختاره.
Kimi K3 هو النموذج الرائد من Moonshot AI للبرمجة طويلة الأمد والوكلاء والعمل المعرفي. يستدل دائمًا قبل أن يجيب، وتختار مدى عمق الاستدلال عبر reasoning_effort. أرسل طلب Kimi الرسمي إلى SeedRouter: عدّل الرابط الأساسي ومفتاح API، واحفظ جسم الطلب.
معرّف النموذج
| معرّف النموذج | نافذة السياق | الحد الأقصى للإخراج | مستوى الاستدلال | مستوى الاستدلال الافتراضي |
|---|---|---|---|---|
kimi-k3 | 1,048,576 توكن | 1,048,576 توكن (الافتراضي 131,072) | low, high, max | max |
الإدخال: نص وصور. الإخراج: نص. راجع صفحة النموذج للاطلاع على الأسعار الحالية.
مثال سريع
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [{"role": "user", "content": "Explain context caching in one sentence."}]
}'نقاط النهاية
| الصيغة | الطريقة والمسار | المصادقة |
|---|---|---|
| Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> أو Authorization: Bearer <key>، بالإضافة إلى anthropic-version |
تعيد نقاط النهاية الثلاث صيغة الاستجابة الرسمية لـ Kimi، مع البث أو بدونه. احفظ مفتاح API في شيفرة تعمل على الخادم.
المعاملات
حقول Chat Completions:
| الاسم | النوع | مطلوب | القيمة الافتراضية | ملاحظات |
|---|---|---|---|---|
model | string | نعم | — | kimi-k3. |
messages | object[] | نعم | — | رسائل نصية؛ والصور كأجزاء image_url (راجع إدخال الصور). |
max_completion_tokens | integer | لا | 131072 | حتى 1048576. يشمل توكنات الاستدلال. max_tokens هو الاسم المهجور للحد نفسه. |
reasoning_effort | enum | لا | max | low أو high أو max. أي قيمة أخرى تعيد 400. |
stop | string or string[] | لا | — | حتى 5 تسلسلات. |
response_format | object | لا | {"type": "text"} | text أو json_object أو json_schema (مع json_schema.name وjson_schema.schema). |
tools | object[] | لا | — | أدوات من نوع دالة. |
tool_choice | string or object | لا | auto | تُطبَّق auto وnone. تُقبل required والدالة المسمّاة لكنها لا تفرض الاستدعاء. |
stream | boolean | لا | false | بثّ أحداث مرسلة من الخادم. |
stream_options.include_usage | boolean | لا | false | يضيف الجزء الأخير الذي يحمل بيانات الاستخدام. |
prompt_cache_options | object | لا | {"mode": "implicit", "ttl": "5m"} | mode: implicit. ttl: 5m أو 1h. |
prompt_cache_key, safety_identifier, prediction | — | لا | — | مقبولة. |
logprobs, top_logprobs | — | لا | — | مقبولة (top_logprobs من 0 إلى 20)، لكن لا تُعاد الاحتمالات اللوغاريتمية. |
temperature, top_p, n, presence_penalty, frequency_penalty | — | لا | 1.0, 0.95, 1, 0, 0 | قيم ثابتة. أي قيمة أخرى تعيد 400، لذا لا ترسلها. |
الاستدلال ومستوى الاستدلال
يستدل Kimi K3 دائمًا؛ ولا توجد طريقة لإيقاف الاستدلال. يحدد reasoning_effort مقداره: max (الافتراضي) للعمل الأصعب، وhigh لمعظم المهام، وlow للخطوات السريعة والبسيطة. يُعاد الاستدلال في reasoning_content بجانب content. تُفوتَر توكنات الاستدلال كتوكنات إخراج وتُحتسب ضمن max_completion_tokens.
في المحادثات متعددة الأدوار واستدعاءات الأدوات، أعد إرسال كل رسالة assistant دون تغيير، بما فيها reasoning_content الخاص بها.
إدخال الصور
يقبل Kimi K3 الصور على شكل data URI بترميز base64. لا يُقبل رابط صورة عام ويعيد 400، كما في واجهة API الخاصة بـ Kimi.
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64_DATA>"}},
{"type": "text", "text": "Describe this image."}
]}التخزين المؤقت للسياق
التخزين المؤقت تلقائي: تُقرأ البادئة المتكررة من الموجّه من الذاكرة المؤقتة بسعر الإدخال المخزّن مؤقتاً الأقل. يحدد prompt_cache_options.ttl مدة بقاء البادئة المكتوبة في الذاكرة المؤقتة، 5m (الافتراضي) أو 1h؛ اختر 1h عندما يفصل بين طلباتك أكثر من خمس دقائق. يُبلغ usage.prompt_tokens_details.cached_tokens عن التوكنات المقروءة من الذاكرة المؤقتة، ويُبلغ cache_write_tokens عن عمليات الكتابة إلى الذاكرة المؤقتة المُفوترة في الطلب.
أبعاد الفواتير
راجع الأسعار الحالية في صفحة النموذج. يُفوتَر الطلب بالتوكنات التي يستخدمها:
- توكنات الإدخال،
- توكنات الإدخال المخزّنة مؤقتًا (
cached_tokens)، - توكنات الكتابة إلى الذاكرة المؤقتة (
cache_write_tokens)، - توكنات الإخراج، بما فيها الاستدلال.
لا تتغير الأسعار بتغيّر طول السياق. يُؤخذ المبلغ من usage المبلّغ عنه مع الاستجابة المكتملة. لا يُفوتَر الطلب الفاشل. يُظهر سجل استخدام حسابك المبلغ الدقيق لكل طلب.
الإخراج
طلب Chat Completions غير المُبثّ يعيد:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1790585961,
"model": "kimi-k3",
"choices": [{
"index": 0,
"finish_reason": "stop",
"message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
}],
"usage": {
"prompt_tokens": 90,
"completion_tokens": 57,
"total_tokens": 147,
"cached_tokens": 90,
"prompt_tokens_details": {"cached_tokens": 90, "cache_write_tokens": 0}
}
}مع "stream": true يحمل كل جزء delta يتضمن reasoning_content أو content. ومع stream_options.include_usage يحمل جزء أخير بمصفوفة choices فارغة بيانات الاستخدام قبل data: [DONE].
Responses API و Codex
تقبل POST /v1/responses جسم Responses: input وinstructions وmax_output_tokens وreasoning.effort (low، high، max) وtext.format (json_schema) وtools (function والأداة المخصصة apply_patch) وtool_choice وstream وprompt_cache_options وprompt_cache_key وsafety_identifier. يُعاد الاستدلال كعنصر reasoning يحتوي على جزء summary_text، ويحمل البث أحداثًا مرقّمة من response.created إلى response.completed. الواجهة عديمة الحالة: يُتجاهَل previous_response_id وconversation، لذا أرسل المحادثة كاملة في input. تُتجاهَل الأداة web_search.
لاستخدام Kimi K3 في Codex، أضف provider إلى ~/.codex/config.toml واضبط SEEDROUTER_API_KEY:
model = "kimi-k3"
model_provider = "seedrouter"
model_context_window = 1048576
[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"صيغة Anthropic Messages
يمكن للشيفرة المكتوبة لـ Anthropic Messages API استدعاء Kimi K3 أيضًا: أرسل جسم Messages إلى /v1/messages مع "model": "kimi-k3". تُطبَّق system وmax_tokens وtools وtool_choice (auto، none) وoutput_config.effort (low، high، max)، وتُقبل metadata.user_id وcache_control. تُقبل stop_sequences (حتى 5) وtool_choice any وoutput_config.format لكن دون أي أثر. يُعاد الاستدلال ككتل thinking. تُرسل الصور كمصادر base64.
الأخطاء
تستخدم الأخطاء الشكل {"error": {"code": ..., "message": "..."}} (تستخدم نقطة نهاية Messages شكل أخطاء Anthropic). code هو رمز من كتالوج الأخطاء المشترك. لا تُفوتَر الطلبات الفاشلة.
نصائح
- ابدأ بمستوى الاستدلال
highوانتقل إلىmaxفقط للمشكلات الأصعب؛ ويناسبlowالخطوات السريعة والبسيطة. - اضبط
max_completion_tokensعاليًا بما يكفي للاستدلال والإجابة معًا: إنها ميزانية واحدة لكليهما. - ضع السياق الطويل المُعاد استخدامه في بداية الموجّه حتى تقرأه الطلبات اللاحقة من الذاكرة المؤقتة، واستخدم TTL بقيمة
1hعندما تكون الطلبات متباعدة.
