بدء سريع مع Kimi K3 لسير عمل API ذات السياق الطويل

بدء سريع مع Kimi K3 لسير عمل API ذات السياق الطويل

يتوفر Kimi K3 عبر واجهة برمجة تطبيقات Novita AI الخالية من الخوادم (serverless API) باستخدام معرف النموذج moonshotai/kimi-k3، ونقطة نهاية محادثة متوافقة مع OpenAI، ونافذة سياق (context window) تبلغ 1,048,576 رمزًا (token)، وإعداد أقصى إخراج يبلغ 1,048,576 رمزًا مدرجًا في صفحة النموذج الخاصة به. يوضح دليل البدء السريع هذا كيفية المصادقة، وإرسال أول طلب، وتحليل الاستجابة، والتخطيط لتسعير رموز Kimi K3 قبل توصيله بتطبيق أكبر.

متى تستخدم دليل البدء السريع هذا

استخدم هذا الدليل عندما تريد اختبار Kimi K3 من تطبيق يتحدث بالفعل بتنسيق API الخاص بـ OpenAI. إنها نقطة بداية عملية لسير عمل هندسة البرمجيات ذات السياق الطويل، وتحليل المستندات، والبحث، والاستدلال حيث قد يحتوي الطلب على سياق أكبر بكثير من موجه الدردشة النموذجي.

تصف صفحة نموذج Novita لـ Kimi K3 نموذجًا يحتوي على 2.8 تريليون معلمة مع فهم بصري أصلي ونافذة سياق تبلغ مليون رمز. تسرد نفس الصفحة إدخالات النص والصورة والفيديو مع إخراج نصي، بالإضافة إلى الوصول الخالي من الخوادم، والإخراج المنظم، والاستدلال، واستدعاء الدوال. تعامل مع هذه باعتبارها قدرات للتحقق من صحتها مقابل شكل الطلب المقصود بدلاً من افتراض أن كل ميزة من ميزات SDK الخاصة بـ OpenAI لها سلوك متطابق عبر النماذج المختلفة.

هذه ليست مقارنة معيارية. الهدف هو جعل طلب مصادقة واحد يعمل، ثم إعطائك تفاصيل تشغيلية كافية لتقرر ما إذا كان Kimi K3 مناسبًا لعبء العمل الخاص بك.

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

أنشئ أو اختر حساب Novita AI، وافتح إعدادات مفتاح API الخاص بك، وأنشئ مفتاحًا للاستخدام من جانب الخادم. احتفظ بالمفتاح بعيدًا عن حزم الواجهة الأمامية، والمستودعات العامة، ودفاتر الملاحظات المشتركة خارج فريقك، وسجل الأوامر (shell history) قدر الإمكان.

قم بتعيين المفتاح كمتغير بيئة قبل تشغيل أي من المثالين:

export NOVITA_API_KEY="your_api_key_here"

استخدم مفتاح مشروع أو مؤقت عندما يدعم إعداد حسابك ذلك. قم بتدوير المفتاح بعد عرض توضيحي عام أو أي تعرض مشبوه.

الخطوة 2: تأكيد معرف النموذج ونقطة النهاية

احتفظ بتفاصيل الاتصال معًا حتى لا يحل اسم العرض محل معرف النموذج الفعلي عن طريق الخطأ:

الحقل القيمة
معرف النموذج (Model ID) moonshotai/kimi-k3
عنوان URL الأساسي (Base URL) https://api.novita.ai/openai/v1
نقطة نهاية إكمال الدردشة (Chat completions endpoint) https://api.novita.ai/openai/v1/chat/completions
نافذة السياق 1,048,576 رمزًا
إعداد أقصى إخراج 1,048,576 رمزًا
قدرات الإدخال نص، صورة، فيديو
قدرة الإخراج نص
نوع الوصول واجهة برمجة تطبيقات خالية من الخوادم (Serverless API)

صفحة نموذج Kimi K3 هي المصدر الموثوق للتوفر، والحدود الحالية، والقدرات، والتسعير. تحقق منها مرة أخرى قبل النشر لأن تكوينات النماذج والأسعار قد تتغير.

الخطوة 3: أرسل طلبك الأول

ابدأ بطلب نصي قصير فقط. يجعل الموجه الصغير من السهل فصل مشاكل المصادقة أو التوجيه عن مشاكل الموجه على مستوى التطبيق.

على سبيل المثال، اطلب من Kimi K3 إرجاع قائمة مراجعة تنفيذ قصيرة:

قم بإدراج أكبر ثلاثة مخاطر عند إضافة إعادة المحاولة (retries) إلى عميل API دفق (streaming API client). قم بإرجاع جملة واحدة لكل خطر.

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

الخطوة 4: اقرأ الاستجابة

تضع الاستجابة المتوافقة مع OpenAI نص المساعد في choices[0].message.content لإكمال محادثة قياسي غير دفق. احتفظ ببيانات الاستجابة الوصفية وحقول الاستخدام في تطبيقك إذا كنت بحاجة إلى تتبع الطلب أو محاسبة التكاليف.

للتكامل الإنتاجي، سجل على الأقل:

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

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

الخطوة 5: تحقق من التسعير والحدود والأخطاء الشائعة

تسرد صفحة نموذج Novita تسعير الخوادم الخالية بمبلغ 3 دولارات لكل مليون رمز إدخال، و0.30 دولار لكل مليون رمز قراءة مخبأة (cached-read)، و15 دولارًا لكل مليون رمز إخراج لـ Kimi K3. يجب أن يشمل تقديرك جانبي الطلب، وإعادة المحاولات، وكمية السياق التي ترسلها بشكل متكرر.

تسرد الصفحة أيضًا طبقات معدل الطلب التالية:

الطبقة (Tier) الطلبات في الدقيقة الرموز في الدقيقة
T1 30 50,000,000
T2 100 50,000,000
T3 1,000 50,000,000
T4 3,000 50,000,000
T5 6,000 50,000,000

تعتمد الطبقة المطبقة على حسابك. لا تتعامل مع الجدول كوعد بأن كل مشروع يبدأ من T1 أو أن كل عبء عمل يمكنه استخدام الحد الأقصى للمعدل المعروض.

تشمل أخطاء التكامل الأولى الشائعة:

  • فقدان رأس Authorization: Bearer أو تعيين متغير بيئة خاطئ.
  • إرسال kimi-k3 أو اسم تسويقي بدلاً من moonshotai/kimi-k3.
  • استخدام https://api.novita.ai/openai كعنوان URL الأساسي لـ SDK عندما يتوقع العميل المسار المقسّم .../openai/v1.
  • إرسال نص طلب ليس JSON صالحًا.
  • تعيين حد إخراج أكبر مما يمكن لتطبيقك تخزينه أو معالجته.
  • افتراض أن نص الطلب متعدد الوسائط متطابق عبر كل SDK أو عائلة نماذج.

مثال Python

قم بتثبيت عميل OpenAI Python في بيئتك، ثم قم بتشغيل هذا المثال مع تعيين NOVITA_API_KEY:

pip install openai
import os

from openai import OpenAI


client = OpenAI(
    api_key=os.environ["NOVITA_API_KEY"],
    base_url="https://api.novita.ai/openai/v1",
)

response = client.chat.completions.create(
    model="moonshotai/kimi-k3",
    messages=[
        {
            "role": "system",
            "content": "You are a concise engineering assistant.",
        },
        {
            "role": "user",
            "content": "List three risks when adding retries to a streaming API client.",
        },
    ],
    temperature=0.2,
    max_tokens=300,
)

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

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

مثال cURL

يمكن اختبار نفس الطلب بدون SDK:

payload='{
  "model": "moonshotai/kimi-k3",
  "messages": [
    {
      "role": "system",
      "content": "You are a concise engineering assistant."
    },
    {
      "role": "user",
      "content": "List three risks when adding retries to a streaming API client."
    }
  ],
  "temperature": 0.2,
  "max_tokens": 300
}'

curl --request POST "https://api.novita.ai/openai/v1/chat/completions" \
  --header "Authorization: Bearer $NOVITA_API_KEY" \
  --header "Content-Type: application/json" \
  --data "$payload"

المعلمات الرئيسية

المعلمة (Parameter) ما تتحكم فيه القيمة الأولى المنطقية
model النموذج المستضاف الذي يجيب على الطلب moonshotai/kimi-k3
messages أدوار المحادثة: النظام والمستخدم والمساعد رسالة نظام واحدة ورسالة مستخدم واحدة
temperature تباين الإخراج 0.2 للاختبارات القابلة للتكرار
max_tokens أقصى إخراج يتم إنشاؤه 300، ثم ارفعها عمدًا
stream ما إذا كان الإخراج يصل تدريجيًا اتركه معطلاً أثناء التصحيح
tools تعريفات الدوال المتاحة للنموذج أضف بعد أن تعمل الدردشة الأساسية
response_format متطلبات الإخراج المنظم تحقق من صحة JSON المرتجع قبل استخدامه

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

استكشاف الأخطاء وإصلاحها

فشل المصادقة

تحقق من تعيين NOVITA_API_KEY في نفس العملية التي تشغل الطلب. تأكد من أن الرأس يستخدم Bearer، وليس معلمة استعلام أو اسم بيانات اعتماد مختلف.

لم يتم العثور على النموذج

استخدم المعرف الدقيق moonshotai/kimi-k3. اسم عرض النموذج ليس بديلاً صالحًا لمعرف نموذج API.

الطلب مرفوض

قلل من قيم الموجه و max_tokens، وتحقق من صحة نص JSON، وتأكد من أن نقطة النهاية هي /openai/v1/chat/completions. إذا كان الطلب يستخدم صورًا أو فيديو أو أدوات أو إخراجًا منظمًا، فقم بإزالة تلك الحقول وأضفها مرة أخرى واحدًا تلو الآخر.

الطلبات بطيئة أو محدودة المعدل

قم بقياس أعداد رموز الموجه والإخراج، وقلل من السياق المتكرر غير الضروري، وأضف تراجعًا أسيًا محدودًا (bounded exponential backoff) للاستجابات القابلة لإعادة المحاولة. تحقق من طبقة المعدل الحالية لحسابك بدلاً من افتراض أعلى طبقة في جدول صفحة النموذج.

الاستجابة غير كاملة

افحص سبب الانتهاء (finish reason) وبيانات الاستخدام. يمكن لقيمة max_tokens الصغيرة أن توقف الإجابة الطويلة مبكرًا؛ زيادتها تزيد أيضًا من كمية الإخراج التي قد يدفع تطبيقك ثمنها ويعالجها.

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

ما هو معرف النموذج الذي يجب أن أرسله لـ Kimi K3؟

أرسل moonshotai/kimi-k3 في حقل model.

ما هي نقطة النهاية التي يستخدمها عميل OpenAI؟

اضبط عنوان URL الأساسي لـ SDK على https://api.novita.ai/openai/v1. يتم إرسال طلب إكمال الدردشة إلى https://api.novita.ai/openai/v1/chat/completions.

ما حجم نافذة سياق Kimi K3؟

تسرد صفحة نموذج Novita نافذة سياق تبلغ 1,048,576 رمزًا وإعداد أقصى إخراج يبلغ 1,048,576 رمزًا. تحقق من الصفحة قبل النشر للحصول على التحديثات.

هل استخدام Kimi K3 مجاني؟

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

هل يجب أن أبدأ بطلب متعدد الوسائط؟

لا. ابدأ بطلب نصي صغير فقط حتى يسهل التحقق من المصادقة واختيار نقطة النهاية وتحليل الاستجابة ومعالجة الأخطاء. أضف المدخلات متعددة الوسائط بعد أن يصبح هذا المسار مستقرًا.

مقالات موصى بها

المصادر