كيفية استخدام واجهة برمجة تطبيقات Kimi K2.6؟

Ashley Innocent

Ashley Innocent

21 أبريل 2026

كيفية استخدام واجهة برمجة تطبيقات Kimi K2.6؟

يضع إعلان Kimi K2.6 من Moonshot AI هذا المنتج كأحدث ما توصلت إليه التكنولوجيا مفتوحة المصدر في مجال البرمجة، والتنفيذ طويل المدى، وأسراب الوكلاء. واجهة برمجة التطبيقات (API) التي تدعمه متوافقة مع OpenAI، ومستضافة على https://api.moonshot.ai/v1، وموثقة على المنصة. إذا كان لديك OpenAI SDK مثبتًا، يمكنك إرسال طلبات حقيقية في حوالي خمس دقائق.

يشرح هذا الدليل المصادقة، وطلبك الأول، والتدفق (streaming)، واستدعاء الأدوات (tool calling)، وإدخال الرؤية والفيديو (vision and video input)، ووضع التفكير (thinking mode)، وكيفية تشغيل Agent Swarm بـ 300 وكيل فرعي، ويوضح كيفية اختبار كل نقطة نهاية باستخدام Apidog قبل كتابة كود التكامل.

💡
المسار السريع: اختبر واجهة برمجة تطبيقات Kimi K2.6 بصريًا في Apidog قبل الالتزام بأي كود تكامل. استيراد واحد، رمز Bearer واحد، وستقوم بإجراء طلبات متدفقة حقيقية مع سجل كامل والتحقق من المخطط. قم بتنزيل Apidog مجانًا.
زر

باختصار: واجهة برمجة تطبيقات Kimi K2.6 في 60 ثانية

أدنى حد من Curl:

curl https://api.moonshot.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $KIMI_API_KEY" \
  -d '{
    "model": "kimi-k2.6",
    "messages": [{"role": "user", "content": "Write a Python function that reverses a string."}]
  }'

هذا كل ما في الأمر. يملأ بقية هذا الدليل التفاصيل، بما في ذلك Agent Swarm وحدود التنفيذ البالغة 4,000 خطوة التي تدعمها Moonshot.

ما يمكنك فعلاً فعله باستخدام واجهة برمجة التطبيقات هذه

من إعلان Kimi K2.6، تطلق واجهة برمجة التطبيقات (API) كل هذا في مرحلة الإنتاج:

إذا كنت تقوم ببناء أدوات في نفس الفئة مثل استخدام الكمبيوتر مع كود كلود، بناء كود كلود الخاص بك، أو Cursor Composer 2، فإن واجهة برمجة تطبيقات K2.6 هي بديل مباشر على طبقة النموذج.

الخطوة 1: الحصول على مفتاح API

  1. انتقل إلى platform.moonshot.ai (أو platform.kimi.ai) وقم بالتسجيل. يعمل التسجيل عبر البريد الإلكتروني أو Google OAuth.
  2. تحقق من حسابك. قد يحتاج المستخدمون الدوليون إلى التحقق عبر الرسائل القصيرة.
  3. أضف الفوترة. عادةً ما تمنح Moonshot الحسابات الجديدة رصيدًا مجانيًا صغيرًا.
  4. افتح مفاتيح API (API Keys) في لوحة التحكم وانقر على إنشاء مفتاح (Create Key).
  5. انسخ المفتاح فورًا (يظهر مرة واحدة فقط).
  6. قم بتصديره:
export KIMI_API_KEY="sk-..."

أضفه إلى .zshrc أو .bashrc أو مدير الأسرار للإنتاج. لا تقم أبدًا بتثبيته في الكود.

هل تريد تجنب الدفع أثناء التطوير؟ يغطي كيفية استخدام Kimi K2.6 مجانًا Cloudflare Workers AI، والأوزان المستضافة ذاتيًا، وبرامج الرصيد المجاني.

الخطوة 2: اختر حزمة تطوير البرامج (SDK) الخاصة بك

واجهة برمجة التطبيقات متوافقة مع OpenAI، لذا تعمل حزم SDK الرسمية لـ OpenAI بعد تغيير عنوان URL الأساسي.

الخيار التثبيت الأفضل لـ
curl مدمج الاختبارات السريعة، CI
OpenAI بايثون pip install openai خدمات بايثون
OpenAI Node npm install openai تطبيقات JS/TS

بايثون

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("KIMI_API_KEY"),
    base_url="https://api.moonshot.ai/v1",
)

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "What is the capital of France?"}],
)

print(response.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.KIMI_API_KEY,
  baseURL: "https://api.moonshot.ai/v1",
});

const response = await client.chat.completions.create({
  model: "kimi-k2.6",
  messages: [{ role: "user", content: "What is the capital of France?" }],
});

console.log(response.choices[0].message.content);

Curl

curl https://api.moonshot.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $KIMI_API_KEY" \
  -d '{
    "model": "kimi-k2.6",
    "messages": [{"role": "user", "content": "What is the capital of France?"}]
  }'

جميع الثلاثة تُرجع نفس شكل الاستجابة.

الخطوة 3: فهم نص الطلب

نفس الحقول مثل إكمال محادثة OpenAI:

{
  "model": "kimi-k2.6",
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user", "content": "Your prompt here." }
  ],
  "temperature": 1.0,
  "top_p": 1.0,
  "max_tokens": 8192,
  "stream": false,
  "tools": [],
  "tool_choice": "auto",
  "thinking": { "type": "disabled" }
}

ملاحظتان خاصتان بـ Moonshot:

الخطوة 4: التدفق (Streaming)

التدفق هو الخيار الافتراضي الصحيح لأي واجهة مستخدم أو إنشاء طويل. يمكن أن يصل الحد الأقصى للإخراج لمهام التفكير إلى 98,304 رموز؛ لا تريد الانتظار حتى يتم الحصول عليها كلها مرة واحدة.

بايثون

stream = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "Write a 500-word essay on MoE models."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Node.js

const stream = await client.chat.completions.create({
  model: "kimi-k2.6",
  messages: [{ role: "user", content: "Write a 500-word essay on MoE models." }],
  stream: true,
});

for await (const chunk of stream) {
  const delta = chunk.choices[0]?.delta?.content;
  if (delta) process.stdout.write(delta);
}

يعمل التدفق أيضًا مع استدعاءات الأدوات؛ تصل الوسائط كفروق JSON تقوم بدمجها.

الخطوة 5: استدعاء الأدوات (Tool calling)

تفيد Moonshot عن نتيجة Toolathlon بنسبة 50.0% ونجاح استدعاء الأداة بنسبة 96.60% في اختبار الشركاء. التنسيق هو مخطط استدعاء الدالة القياسي لـ OpenAI، لذا تنطبق سير عمل اختبار API الحالي لمهندسي ضمان الجودة.

تعريف الأدوات

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather in a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {"type": "string", "description": "City name"},
                    "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
                },
                "required": ["location"]
            }
        }
    }
]

المكالمة الأولى (النموذج يقرر)

import json

messages = [{"role": "user", "content": "What's the weather in Tokyo?"}]

resp = client.chat.completions.create(
    model="kimi-k2.6",
    messages=messages,
    tools=tools,
    tool_choice="auto",
)

msg = resp.choices[0].message
messages.append(msg)

if msg.tool_calls:
    for call in msg.tool_calls:
        args = json.loads(call.function.arguments)
        result = fetch_weather(args["location"], args.get("unit", "celsius"))
        messages.append({
            "role": "tool",
            "tool_call_id": call.id,
            "content": json.dumps(result),
        })

المكالمة الثانية (الإجابة النهائية)

final = client.chat.completions.create(
    model="kimi-k2.6",
    messages=messages,
    tools=tools,
)
print(final.choices[0].message.content)

يتميز K2.6 بقوته في سلاسل الأدوات متعددة الخطوات، وهذا ما يجعل وكلاء البرمجة طويلة الأمد مثل Kimi Code ممكنة. لمقارنة الأطر، يغطي سير عمل كود كلود نفس الحلقة باستخدام واجهة خلفية مختلفة.

الخطوة 6: إدخال الرؤية (Vision input)

يحصل K2.6 على 79.4% في MMMU-Pro و96.9% في V* (مع بايثون). تدخل الصور إلى رسالة المستخدم باستخدام تنسيق محتوى image_url الخاص بـ OpenAI:

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Describe this image in one sentence."},
                {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
            ]
        }
    ],
)

للملفات المحلية، قم بترميزها base64:

import base64
with open("photo.jpg", "rb") as f:
    b64 = base64.b64encode(f.read()).decode("utf-8")

image_url = f"data:image/jpeg;base64,{b64}"

لقراءة التعرف الضوئي على الحروف (OCR) أو الرسوم البيانية، ادمج تعليمات نصية واضحة مع الصورة. للمسائل الرياضية، قم بتضمين أداة مترجم بايثون؛ تم قياس درجة MathVision البالغة 93.2% مع تمكين الوصول إلى بايثون.

الخطوة 7: إدخال الفيديو (Video input)

مرر رابط فيديو URL أو تسلسل إطارات:

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Summarize what happens in this video."},
                {"type": "video_url", "video_url": {"url": "https://example.com/clip.mp4"}}
            ]
        }
    ],
)

مقاطع الفيديو القصيرة (أقل من 30 ثانية) تعمل في مكالمة واحدة. تستفيد مقاطع الفيديو الأطول من التدفق لأن الاستدلال إطارًا بإطار ينتج الكثير من الرموز.

الخطوة 8: وضع التفكير (Thinking mode)

ينتج kimi-k2.6-thinking تتبعًا مرئيًا للاستدلال (مماثل لنماذج OpenAI من نوع o1). تفيد Moonshot بنسبة 96.4% في AIME 2026 و90.5% في GPQA-Diamond مع تمكين وضع التفكير.

تفعيل التفكير (الوضع الافتراضي لنموذج التفكير):

response = client.chat.completions.create(
    model="kimi-k2.6-thinking",
    messages=[{"role": "user", "content": "Prove sqrt(2) is irrational."}],
)

إيقاف التفكير:

response = client.chat.completions.create(
    model="kimi-k2.6-thinking",
    messages=[{"role": "user", "content": "Quick: what's 17 * 23?"}],
    extra_body={"thinking": {"type": "disabled"}},
)

يعود تتبع الاستدلال في حقل reasoning في الاستجابة. يمكنك إخفاؤه عن المستخدمين النهائيين وعرض الإجابة النهائية فقط، أو توجيهه إلى سجل تصحيح الأخطاء.

الخطوة 9: سرب الوكلاء (Agent Swarm)

سرب الوكلاء هو الميزة الأكثر قيمة للتعلم. من مدونة Kimi K2.6: ما يصل إلى 300 وكيل فرعي، أكثر من 4000 خطوة منسقة، 3 أضعاف سعة K2.5.

استدعائه عبر معلمة الوكيل الخاصة بالمنصة:

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{
        "role": "user",
        "content": "Build a 5-page marketing site for a coffee brand with responsive design and a newsletter signup."
    }],
    extra_body={
        "agent": {
            "type": "swarm",
            "max_agents": 30,
            "max_steps": 4000
        }
    },
)

تستغرق استدعاءات السرب دقائق أو ساعات. ثلاث نصائح عملية:

  1. استخدم التدفق (streaming). ستحتاج إلى رؤية التقدم وإيقاف التشغيلات الخاطئة مبكرًا.
  2. ضع حدًا لـ max_agents. 300 هو الحد الأقصى؛ 10 إلى 30 أكثر قابلية للتنبؤ لمعظم المهام.
  3. حدد ميزانية. يمكن لمهام السرب الطويلة أن تستهلك الرموز بسرعة؛ سجل usage في كل استجابة ووجهها إلى مقاييسك.

تصف مدونة Kimi تشغيلات تجريبية قامت بتعديل أكثر من 4000 سطر من الكود على مدار 13 ساعة. المعمارية هي التي تجعل ذلك ممكنًا؛ علامة واجهة برمجة التطبيقات (API) هي التي تقوم بتشغيلها فقط.

الخطوة 10: اختبر كل شيء باستخدام Apidog

يقدم كل قسم أعلاه شكل نص مختلفًا، أو متطلبات رأس، أو تنسيق استجابة. يحول Apidog حلقة التصحيح إلى سير عمل مرئي.

إعداد Kimi K2.6 في Apidog

  1. قم بتنزيل Apidog وأنشئ مشروعًا.
  2. أنشئ بيئة kimi-prod بمتغيرين: BASE_URL = https://api.moonshot.ai/v1 و KIMI_API_KEY = sk-....
  3. طلب API جديد: POST {{BASE_URL}}/chat/completions.
  4. الرؤوس (Headers): Authorization: Bearer {{KIMI_API_KEY}}، Content-Type: application/json.
  5. الجسم (مثال التدفق):
{
  "model": "kimi-k2.6",
  "messages": [{ "role": "user", "content": "Hello, Kimi K2.6!" }],
  "stream": true
}
  1. انقر على إرسال (Send). تتدفق الرموز إلى لوحة الاستجابة في الوقت الفعلي.

ما يضيفه Apidog

للاختبار داخل المحرر، يتوفر Apidog أيضًا كـ ملحق VS Code. إذا كنت مقيدًا حاليًا بـ Postman، فإن كيفية إجراء اختبار API بدون Postman تشرح الانتقال.

معالجة الأخطاء التي لن تقاومك

تستخدم Moonshot رموز حالة HTTP القياسية:

برنامج تغليف إعادة المحاولة:

import time
from openai import OpenAI, RateLimitError, APIError

def call_kimi(messages, max_retries=5):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(
                model="kimi-k2.6",
                messages=messages,
            )
        except RateLimitError:
            time.sleep(2 ** attempt)
        except APIError as e:
            if e.status_code >= 500 and attempt < max_retries - 1:
                time.sleep(2 ** attempt)
            else:
                raise
    raise RuntimeError("Kimi K2.6 failed after retries")

بالنسبة للانقطاعات في منتصف التدفق، تتبع الرموز المستلمة وأعد التشغيل بتعليمات "المتابعة من هنا" إذا انقطع الاتصال. يعني سقف الإخراج الاستدلالي البالغ 98,304 رمزًا أن التدفقات الطويلة طبيعية، وليست خطأً.

التحكم في التكلفة

تنشر Moonshot أسعارها على kimi.com/membership/pricing. ثلاث نصائح على مستوى الإنتاج للحفاظ على فواتير يمكن التنبؤ بها:

نمط الإنتاج: مُصلح مشكلات GitHub

إليك وكيل يقرأ مشكلة في GitHub، ويحدد الكود ذي الصلة، ويقترح إصلاحًا، ويشغل الاختبارات، وهو منظم حول حلقة استدعاء الأدوات في Kimi K2.6:

from openai import OpenAI
import os, json

client = OpenAI(
    api_key=os.getenv("KIMI_API_KEY"),
    base_url="https://api.moonshot.ai/v1",
)

tools = [
    {"type": "function", "function": {
        "name": "read_file",
        "description": "Read a file in the repo.",
        "parameters": {
            "type": "object",
            "properties": {"path": {"type": "string"}},
            "required": ["path"]
        }
    }},
    {"type": "function", "function": {
        "name": "search_code",
        "description": "Ripgrep the codebase for a pattern.",
        "parameters": {
            "type": "object",
            "properties": {"query": {"type": "string"}},
            "required": ["query"]
        }
    }},
    {"type": "function", "function": {
        "name": "run_tests",
        "description": "Run the project test suite.",
        "parameters": {"type": "object", "properties": {}}
    }},
]

def tool_dispatch(name, args):
    if name == "read_file":
        with open(args["path"]) as f:
            return f.read()
    if name == "search_code":
        return run_ripgrep(args["query"])
    if name == "run_tests":
        return run_pytest()
    raise ValueError(f"Unknown tool: {name}")

messages = [
    {"role": "system", "content": "You are a senior engineer. Fix the described bug."},
    {"role": "user", "content": "Issue: login form submits twice on slow networks."}
]

while True:
    resp = client.chat.completions.create(
        model="kimi-k2.6",
        messages=messages,
        tools=tools,
    )
    msg = resp.choices[0].message
    messages.append(msg)

    if not msg.tool_calls:
        print(msg.content)
        break

    for call in msg.tool_calls:
        result = tool_dispatch(call.function.name, json.loads(call.function.arguments))
        messages.append({
            "role": "tool",
            "tool_call_id": call.id,
            "content": result,
        })

يتوسع هذا النمط ليصبح Agent Swarm عن طريق إضافة تكوين swarm في extra_body. كما يعمل بشكل جيد مع مكدس Hermes متعدد الوكلاء إذا كنت ترغب في نقاط تفتيش يتدخل فيها البشر.

الأسئلة الشائعة

هل أحتاج إلى حزمة تطوير برامج (SDK) خاصة بـ Moonshot؟لا. تعمل حزم SDK لـ OpenAI Python وNode بعد تغيير base_url.

هل واجهة برمجة التطبيقات (API) تخضع لقيود المعدل؟نعم. تتناسب الحدود مع مستواك وسجل استخدامك. تحقق من لوحة التحكم.

هل يعمل Kimi K2.6 مع LangChain، LlamaIndex، Vercel AI SDK؟نعم. يعمل أي إطار عمل يقبل عنوان URL أساسيًا متوافقًا مع OpenAI.

هل يدعم Kimi K2.6 وضع JSON؟نعم. مرر response_format: {"type": "json_object"} لإخراج JSON صالح، أو {"type": "json_schema", "json_schema": {...}} للمخططات الصارمة.

ما هو حجم نافذة السياق بالضبط؟262,144 رمز إدخال، بحد أقصى 98,304 رمز إخراج لمهام الاستدلال، وفقًا للمدونة الرسمية.

هل يمكنني ضبط Kimi K2.6 بدقة عبر واجهة برمجة التطبيقات (API)؟ليس بعد. في الوقت الحالي، يعني الضبط الدقيق تشغيل الأوزان المفتوحة على جهازك الخاص.

ما الفرق بين kimi-k2.6 و kimi-k2.6-thinking؟kimi-k2.6 هو نموذج الوكيل السريع. kimi-k2.6-thinking يكشف خطوات استدلاله وهو مضبوط للرياضيات والمنطق والتخطيط الصعب (AIME 2026: 96.4%، GPQA-Diamond: 90.5%).

هل هناك طبقة مجانية؟راجع دليل الوصول المجاني إلى Kimi K2.6 الخاص بنا لـ Cloudflare Workers AI، ومحادثة kimi.com، والخيارات المستضافة ذاتيًا.

ملخص

تندرج واجهة برمجة تطبيقات Kimi K2.6 في أي سلسلة أدوات متوافقة مع OpenAI بتغييرين: عنوان URL الأساسي ومفتاح API الخاص بك. من هناك، تحصل على نافذة سياق بحجم 262K، وسرب وكلاء (Agent Swarm) يضم 300 وكيل فرعي، واستدعاء أدوات مضبوطة بنجاح استدعاء 96.60%، وأوزان مفتوحة المصدر كحل احتياطي إذا كنت ترغب في الانتقال من واجهة برمجة التطبيقات المستضافة.

إذا كنت تقوم ببناء تكامل جديد، استخدم Apidog لإنشاء كل نقطة نهاية والتحقق منها أولاً. ستكتشف أخطاء المخطط، وأخطاء التدفق (streaming bugs)، ومشكلات المصادقة قبل أن تصل إلى قاعدة التعليمات البرمجية الخاصة بك. ثم انقل الطلبات العاملة إلى خدمة Python أو Node بثقة.

المراجع وقراءات إضافية

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات