DEV Community

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

Posted on • Originally published at apidog.com

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

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

جرب Apidog اليوم

هذا الدليل يركز على خطوات المصادقة، تنفيذ أول طلب، التدفق (streaming)، استدعاء الأدوات، إدخال الرؤية والفيديو، تفعيل وضع التفكير، وتشغيل Agent Swarm حتى 300 وكيل فرعي. ستتعلم أيضًا كيفية اختبار كل نقطة نهاية باستخدام Apidog قبل كتابة كود التكامل.

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

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

  • عنوان URL الأساسي: https://api.moonshot.ai/v1
  • نقطة النهاية: POST /chat/completions
  • معرفات النماذج: kimi-k2.6, kimi-k2.6-thinking
  • المصادقة: Authorization: Bearer $KIMI_API_KEY
  • التنسيق: مخطط OpenAI Chat Completion (رسائل، أدوات، تدفق، إلخ)
  • السياق: 262,144 رمز إدخال، حتى 98,304 رمز إخراج للتفكير
  • القيم الافتراضية: درجة حرارة 1.0، top-p 1.0 (المصدر الرسمي)

مثال 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."}]
  }'
Enter fullscreen mode Exit fullscreen mode

هذا هو الحد الأدنى. بقية الدليل يوضح تفاصيل أكثر (Agent Swarm، حدود التنفيذ، إلخ).

Kimi K2.6 API

استخدامات واجهة برمجة التطبيقات هذه

واجهة Kimi K2.6 تدعم في الإنتاج:

  • وكلاء برمجة يعملون لساعات طويلة (حتى 4,000 استدعاء أداة).
  • إدارة بنية تحتية ذاتية باستجابة تلقائية للحوادث.
  • موثوقية طويلة الأمد عبر لغات متعددة (Rust, Go, Python, Zig).
  • أسراب وكلاء تصل إلى 300 وكيل فرعي.
  • تطوير تطبيقات كاملة المكدس من طلب واحد.
  • خطوط أنابيب رؤية + أدوات بايثون (MathVision 93.2%).

إذا كنت تبني أدوات مشابهة لـ Claude code computer use أو Cursor Composer 2، فواجهة Kimi K2.6 بديل مباشر.

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

  1. توجه إلى platform.moonshot.ai أو platform.kimi.ai وسجل الدخول (بريد إلكتروني أو Google OAuth).
  2. أكّد حسابك (قد يتطلب التحقق عبر SMS).
  3. أضف الفوترة (عادة يوجد رصيد مجاني أولي).
  4. من لوحة التحكم، انتقل إلى API Keys ثم Create Key.
  5. انسخ المفتاح فور ظهوره.
  6. صدّر المفتاح:
export KIMI_API_KEY="sk-..."
Enter fullscreen mode Exit fullscreen mode

أضف المتغير إلى .zshrc أو .bashrc أو مدير أسرار الإنتاج.

للتطوير المجاني، راجع كيفية استخدام Kimi K2.6 مجانًا.

الخطوة 2: اختر SDK مناسب

واجهة Kimi متوافقة مع OpenAI SDKs. فقط غيّر الـ base_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)
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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?"}]
  }'
Enter fullscreen mode Exit fullscreen mode

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

الخطوة 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" }
}
Enter fullscreen mode Exit fullscreen mode

ملاحظة: القيم الافتراضية لـ temperature و top_p مرتفعة (1.0). استخدم {"thinking": {"type": "disabled"}} لتعطيل تتبع الاستدلال على نموذج thinking.

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

التدفق ضروري للردود الطويلة. مثال بايثون:

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)
Enter fullscreen mode Exit fullscreen mode

مثال 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);
}
Enter fullscreen mode Exit fullscreen mode

يدعم التدفق أيضًا استدعاء الأدوات.

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

تنسيق استدعاء الأدوات متوافق مع OpenAI.

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

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"]
            }
        }
    }
]
Enter fullscreen mode Exit fullscreen mode

تنفيذ حلقة الأدوات:

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)
Enter fullscreen mode Exit fullscreen mode

واجهة K2.6 قوية في تنفيذ سلاسل الأدوات متعددة الخطوات.

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

لإدخال صورة:

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"}}
            ]
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

لملف محلي:

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}"
Enter fullscreen mode Exit fullscreen mode

للمسائل الرياضية أو OCR، أضف تعليمات نصية مع الصورة.

الخطوة 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"}}
            ]
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

استخدم التدفق للفيديو الأطول من 30 ثانية.

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

للحصول على تتبع الاستدلال:

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

لتعطيله:

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

نتيجة الاستدلال تظهر في حقل reasoning.

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

قم بتشغيل السرب عبر معلمة agent:

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
        }
    },
)
Enter fullscreen mode Exit fullscreen mode

نصائح:

  1. استخدم التدفق لمراقبة التقدم.
  2. حدد max_agents (10–30 مناسب لمعظم المهام).
  3. راقب تكاليف الرموز.

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

يسهل Apidog اختبار جميع نقاط النهاية وتدفقات الطلبات بسرعة.

Apidog Kimi API

إعداد 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. أضف رؤوس:
    • Authorization: Bearer {{KIMI_API_KEY}}
    • Content-Type: application/json
  5. أدخل الجسم مثل:
{
  "model": "kimi-k2.6",
  "messages": [{ "role": "user", "content": "Hello, Kimi K2.6!" }],
  "stream": true
}
Enter fullscreen mode Exit fullscreen mode
  1. اضغط إرسال. ستتدفق النتائج مباشرة في واجهة Apidog.

مميزات Apidog

  • التحقق من المخطط: كشف فوري للحقول المفقودة.
  • سجل الطلبات: إعادة تشغيل الطلبات السابقة.
  • تبديل البيئات: بين مفاتيح الاختبار والإنتاج بسرعة.
  • مشاركة الفريق: تصدير المشروع ومشاركته.
  • خوادم وهمية: للعمل بدون اتصال أو أثناء أعطال الخدمة.
  • دعم تدفق SSE: يدعم تدفق Kimi بشكل سليم.

للاختبار داخل المحرر، يوجد ملحق VS Code. إذا كنت تستخدم Postman، راجع كيفية إجراء اختبار API بدون Postman.

معالجة الأخطاء

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

  • 400: طلب سيء (حقول/نماذج خاطئة).
  • 401: فشل المصادقة (مفتاح مفقود/خاطئ/منتهي).
  • 429: حد المعدل أو الحصة.
  • 500: خطأ خادم (ينصح بإعادة المحاولة).
  • 529: تحميل زائد (أعد المحاولة لاحقًا).

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

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")
Enter fullscreen mode Exit fullscreen mode

لتدفقات طويلة: إذا انقطع الاتصال، أعد التشغيل باستخدام "تابع من هنا" مع النص المتبقي.

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

تسعير Moonshot:

  • حدد max_tokens: اجعلها مناسبة لحالتك (2048 كافية لمعظم الردود).
  • استخدم التخزين المؤقت للموجهات: ضع رسائل النظام الثابتة في الأعلى.
  • سجل usage: كل استجابة تتضمن عدد الرموز المستهلكة. أرسلها إلى نظام مراقبة.

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

نمط وكيل عملي لمعالجة مشكلات GitHub باستخدام حلقة استدعاء الأدوات:

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,
        })
Enter fullscreen mode Exit fullscreen mode

يمكنك توسيع النمط ليصبح Agent Swarm بإضافة تكوين swarm في extra_body.

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

  • هل أحتاج SDK خاص بـ Moonshot؟ لا، OpenAI Python/Node كافٍ بعد تعديل base_url.
  • هل هناك حدود معدل؟ نعم. تحقق من لوحة التحكم.
  • هل يعمل Kimi K2.6 مع LangChain أو Vercel AI SDK؟ نعم، أي إطار عمل يدعم OpenAI base URL.
  • هل يدعم وضع JSON؟ نعم. استخدم response_format: {"type": "json_object"}.
  • حجم نافذة السياق؟ 262,144 رمز إدخال، حتى 98,304 إخراج (المصدر).
  • هل يمكن ضبط النموذج بدقة؟ ليس حاليًا عبر API؛ استخدم الأوزان المفتوحة.
  • الفرق بين kimi-k2.6 و kimi-k2.6-thinking؟ الثاني يوفر تتبع تفكير، مناسب للرياضيات والمنطق.
  • هل توجد طبقة مجانية؟ راجع دليل الاستخدام المجاني.

ملخص

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

لبناء تكامل جديد، استخدم Apidog لاختبار كل نقطة نهاية أولاً. ستكتشف الأخطاء مبكرًا وتنتقل لكود الإنتاج بثقة.

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

Top comments (0)