Novita Kimi K2 API يدعم الآن استدعاء الوظائف!

Novita Kimi K2 API يدعم الآن استدعاء الوظائف!

يمثل Kimi K2 حقبة جديدة من وكلاء الذكاء الاصطناعي، حيث يجمع بين الأداء المتطور في المجالات المتخصصة والقدرة على تحمل التكاليف والمرونة مفتوحة المصدر. مع 32 مليار معلمة نشطة ومليار معلمة إجمالية، يتميز Kimi K2 بنقاط قوته المتخصصة في العلوم والتكنولوجيا والهندسة والرياضيات (STEM) والبرمجة واستخدام الأدوات.

تستكشف هذه المقالة كيف يعزز استدعاء الوظائف قدرات Kimi K2 الوكيلة، وما تتضمنه هذه الميزة، وكيف تضع Kimi K2 كقائد في مستقبل وكلاء الذكاء الاصطناعي.

قدرات وكيل الشفرة في Kimi K2

  1. الكفاءة في STEM والبرمجة

    • يحقق Kimi K2 أداءً متطورًا (SOTA) في معايير STEM والبرمجة، بما في ذلك LiveCodeBench و OJBench.
    • يمكنه إنشاء شيفرة معقدة، وتصحيح الأخطاء، ومحاكاة خوارزميات معقدة بدقة.
  2. خبرة في استخدام الأدوات

    • تم تدريب Kimi K2 على سيناريوهات استخدام الأدوات متعددة الخطوات عبر مئات المجالات.
    • قدرته على تحديد متى تكون هناك حاجة إلى أداة وتنفيذ سير عمل متعدد الخطوات تجعله مساعد برمجة عمليًا للغاية.
  3. التعلم المعزز لتنفيذ المهام

    • من خلال الاستفادة من التقييمات الذاتية القائمة على المعايير و التعلم على السياسة، يقوم Kimi K2 بتحسين حكمه واتخاذ قراراته باستمرار.

من Kimi

قدرات وكيل Kimi K2 تعتمد على استدعاء الوظائف

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

ما هو استدعاء الوظائف؟

استدعاء الوظائف هو آلية منظمة تسمح لنماذج اللغة الكبيرة (LLMs) بالتفاعل مع الأنظمة أو الأدوات أو APIs الخارجية. بدلاً من مجرد إنشاء نص، يمكن لنموذج اللغة الكبير مع دعم استدعاء الوظائف تحليل مطالبات المستخدم، وتحديد متى يلزم إجراء خارجي، وإنشاء استدعاءات JSON منظمة لتنفيذ وظائف محددة.

https://www.youtube.com/watch?v=KUEmEb71vzQ

كيف يعمل استدعاء الوظائف

  1. تحليل المطالبة: يفسر نموذج اللغة الكبير طلب المستخدم ويحدد ما إذا كانت هناك حاجة لاستدعاء وظيفة.
  2. إنشاء استدعاء JSON: يقوم بإنشاء كائن JSON منظم يحتوي على اسم الوظيفة والمعلمات الضرورية.
  3. التنفيذ بواسطة الأنظمة الخارجية: يتلقى نظام خارجي استدعاء JSON، وينفذ الوظيفة، ويعيد النتائج.
  4. إنشاء الرد: يستخدم نموذج اللغة الكبير البيانات المعادة لتقديم رد نهائي للمستخدم.

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

لماذا يعتبر استدعاء الوظائف ضروريًا

  • يحول المعرفة إلى إجراء: يسمح استدعاء الوظائف لـ Kimi K2 بالانتقال من “مقدم المعرفة” إلى “منفذ المهام”.
  • تفاعلات مع العالم الحقيقي: يمكن Kimi K2 من التفاعل مع APIs، وقواعد البيانات، والأنظمة الخارجية، مما يؤدي إلى أتمتة المهام مثل الجدولة واسترجاع البيانات والتحكم في إنترنت الأشياء.
  • سير عمل متعدد الخطوات: يمكن لـ Kimi K2 ربط استدعاءات وظائف متعددة لتنفيذ سير عمل معقد، مثل جلب البيانات ومعالجتها وتخزين النتائج.

استدعاء الوظائف مقابل SDK

الميزة استدعاء الوظائف SDK
التعريف آلية منظمة لنماذج اللغة الكبيرة لتشغيل وظائف أو APIs خارجية. مجموعة أدوات تبسط التفاعل مع APIs والأنظمة الخارجية.
الغرض تمكين التنفيذ المباشر للمهام عن طريق إنشاء استدعاءات وظائف (مثل JSON). يوفر أدوات ومكتبات مبنية مسبقًا لتكامل أسهل مع APIs.
المرونة ديناميكي للغاية، مما يسمح للنماذج بالتفاعل مع أي وظيفة محددة. محدود بالميزات ونقاط النهاية التي يدعمها SDK.
التنفيذ يتطلب تعريف الوظائف والمخططات ومعالجة الردود يدويًا. يجرد منطق API، ويقدم تجربة توصيل وتشغيل.
حالة الاستخدام مثالي لأتمتة المهام متعددة الخطوات واتخاذ القرارات في الوقت الفعلي. الأفضل للتطوير السريع مع سير عمل محدد مسبقًا.
جهد المطور يتطلب إعدادًا أكبر لتعريف وإدارة استدعاءات الوظائف. جهد ضئيل؛ يبسط استخدام API بطرق مبنية مسبقًا.

ما الذي يمكن أن يحققه Kimi K2 + استدعاء الوظائف؟

يفتح الجمع بين نقاط قوة Kimi K2 وقدرات استدعاء الوظائف مجموعة واسعة من التطبيقات الواقعية:

1. تنفيذ المهام في العالم الحقيقي

  • الأتمتة: أتمتة المهام المتكررة مثل حجز المواعيد، أو تقديم النماذج، أو إنشاء التقارير.
  • التحكم في إنترنت الأشياء: التفاعل مع أجهزة إنترنت الأشياء لتنفيذ إجراءات مثل ضبط درجة حرارة الغرفة أو تشغيل الأضواء.

2. الوصول إلى البيانات في الوقت الفعلي

  • التحديثات الديناميكية: استرجاع البيانات في الوقت الفعلي (مثل الطقس، أسعار الأسهم) عبر استدعاءات API.
  • الردود المحسنة: دمج المعلومات في الوقت الفعلي في الإجابات، مما يحسن الدقة والملاءمة.

3. تطبيقات متعددة الوسائط متقدمة

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

4. سير العمل وخطوط الأنابيب المعقدة

  • ربط استدعاءات وظائف متعددة لتنفيذ خطوط أنابيب البيانات، مثل:
    • جلب البيانات → تحليلها → تخزين النتائج.
  • تمكين التكامل السلس مع قواعد البيانات وأدوات التحليل لسير العمل المتقدم.

5. حلول صديقة للمطورين

  • APIs مخصصة: يمكن للمطورين ضبط Kimi K2 للتفاعل مع APIs وأدوات خاصة.
  • تكاملات قابلة للتوسع: إضافة وظائف جديدة بسهولة لتوسيع القدرات دون تغييرات كبيرة في البنية التحتية.

عرض توضيحي يظهر Kimi K2 مع استدعاء الوظائف

  1. ميزانيتي الإجمالية 10,000 دولار، والتي يجب أن تغطي جميع النفقات بما في ذلك النقل والإقامة والتذاكر. يرجى تقديم تفصيل مفصل للميزانية للرحلة بأكملها. معايير التقييم الأساسية لدي هي: سهولة النقل، وتوفر التذاكر، وجودة المعالم السياحية المحلية.

  2. يرجى الرجوع إلى ميزانيتي الإجمالية المذكورة أعلاه.

  3. بالإضافة إلى ميزانيتي الإجمالية المحددة أعلاه، أبحث عن إقامة تقدم تجربة محلية أصيلة، ولهذا لدي تفضيل لـ Airbnb.

  4. تحقق من بريدي الإلكتروني في Google وأنشئ إدخالات في تقويم Google الخاص بي.

عرض توضيحي لـ kimi k2

عرض توضيحي لـ kimi k2

Novita Kimi K2 API يدعم استدعاء الوظائف

يوضح هذا الدليل كيفية استخدام استدعاء الوظائف لاسترداد معلومات الطقس الحالية لموقع المستخدم المحدد. سنستعرض مثالًا كاملًا لشفرة Python.

للحصول على تنسيق API المحدد لاستدعاء الوظائف، يرجى الرجوع إلى المستندات!

Kimi K2 على Novita AI

جرب Kimi K2 الآن!

  • تهيئة العميل

أولاً، تحتاج إلى تهيئة العميل باستخدام مفتاح API الخاص بـ Novita.

from openai import OpenAI
import json

client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # احصل على مفتاح API لـ Novita AI من: https://novita.ai/settings/key-management.
    api_key="<YOUR Novita AI API Key>",
)

model = "moonshotai/kimi-k2-instruct"
  • تحديد الوظيفة التي سيتم استدعاؤها

بعد ذلك، حدد وظيفة Python التي يمكن للنموذج استدعاؤها. في هذا المثال، هي وظيفة للحصول على معلومات الطقس.

# دالة مثال لمحاكاة جلب بيانات الطقس.
def get_weather(location):
    """يسترجع الطقس الحالي لموقع معين."""
    print("Calling get_weather function with location: ", location)
    # في تطبيق حقيقي، ستستدعي API طقس خارجي هنا.
    # هذا مثال مبسط يعيد بيانات ثابتة.
    return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})
  • إنشاء طلب API مع الأدوات ورسالة المستخدم

الآن، قم بإنشاء طلب API إلى نقطة نهاية Novita. يتضمن هذا الطلب معلمة tools، التي تحدد الوظائف التي يمكن للنموذج استخدامها، ورسالة المستخدم.

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather of an location, the user shoud supply a location first",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    }
                },
                "required": ["location"]
            },
        }
    },
]

messages = [
    {
        "role": "user",
        "content": "What is the weather in San Francisco?"
    }
]

# لنرسل الطلب ونطبع الرد.
response = client.chat.completions.create(
    model=model,
    messages=messages,
    tools=tools,
)

# يرجى التحقق مما إذا كان الرد يحتوي على استدعاءات أدوات إذا كان في الإنتاج.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
  • الإخراج
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
  • الرد بنتيجة استدعاء الوظيفة والحصول على الإجابة النهائية

الخطوة التالية هي معالجة استدعاء الوظيفة، وتنفيذ وظيفة get_weather، وإرسال النتيجة مرة أخرى إلى النموذج لإنشاء الرد النهائي للمستخدم.

# تأكد من تعريف tool_call من الخطوة السابقة
if tool_call:
    # تمديد سجل المحادثة برسالة استدعاء الأداة من المساعد
    messages.append(response.choices[0].message)

    function_name = tool_call.function.name
    if function_name == "get_weather":
        function_args = json.loads(tool_call.function.arguments)
        # تنفيذ الوظيفة والحصول على الرد
        function_response = get_weather(
            location=function_args.get("location"))
        # إلحاق رد الوظيفة بالرسائل
        messages.append(
            {
                "tool_call_id": tool_call.id,
                "role": "tool",
                "content": function_response,
            }
        )

    # الحصول على الرد النهائي من النموذج، الآن مع نتيجة الوظيفة
    answer_response = client.chat.completions.create(
        model=model,
        messages=messages,
        # ملاحظة: لا تقم بتضمين معلمة tools هنا.
    )
    print(answer_response.choices[0].message)
  • الإخراج
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}

Novita AI تقدم الآن التوافق مع Anthropic SDK

أصبح الجمع بين Kimi K2 وClaude Code موضوعًا شائعًا في مجتمع الذكاء الاصطناعي، حيث يقدم قدرات وكيلة لا مثيل لها للتطبيقات الواقعية. لجعل هذا التكامل أكثر سلاسة، توفر Novita AI الآن التوافق مع Anthropic SDK، مما يمكنك من الاستفادة بسهولة من قوة Kimi K2 من خلال واجهة Claude Code المألوفة.

يمكنك الاطلاع على هذه المستندات للحصول على مزيد من التفاصيل!

1. تثبيت Anthropic SDK

pip install anthropic

2. تهيئة العميل

تم تصميم Anthropic SDKs لسحب مفتاح API وعنوان URL الأساسي من المتغيرات البيئية: ANTHROPIC_API_KEY و ANTHROPIC_BASE_URL. يمكنك أيضًا توفير المعلمات إلى عميل Anthropic عند تهيئته.

يمكنك عرض وإدارة مفاتيح API الخاصة بك على صفحة الإعدادات.

  • استخدام متغيرات البيئة
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_API_KEY="<YOUR_NOVITA_API_KEY>"
  • تعيين المعلمات أثناء تهيئة عميل Anthropic
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.novita.ai/anthropic",
    api_key="<YOUR_NOVITA_API_KEY>"
)

3. استدعاء API

import anthropic

# تهيئة العميل، إذا قمت بالفعل بتعيين `ANTHROPIC_BASE_URL` و `ANTHROPIC_API_KEY` 
# في المتغيرات البيئية، يمكنك حذف معلمات `api_key` و `base_url`.
client = anthropic.Anthropic(
    base_url="https://api.novita.ai/anthropic",
    api_key="<YOUR_NOVITA_API_KEY>"
)

message = client.messages.create(
    model="moonshotai/kimi-k2-instruct",
    max_tokens=1000,
    temperature=1,
    system="You are a world-class poet. Respond only with short poems.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Why is the ocean salty?"
                }
            ]
        }
    ]
)

print(message.content)

دعم Kimi K2 لـ استدعاء الوظائف يرفعه من نموذج لغة كبير عالي الأداء إلى وكيل ذكاء اصطناعي من الجيل التالي قادر على التفاعل الواقعي وتنفيذ المهام. عند الجمع بين هيمنته في STEM والبرمجة، تضع هذه الميزة Kimi K2 كحل متخصص وفعال من حيث التكلفة لتطوير أنظمة ذكاء اصطناعي عملية وديناميكية.

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

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

ما هو استدعاء الوظائف في سياق نماذج اللغة الكبيرة؟

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

ما هي الفوائد الرئيسية لاستخدام استدعاء الوظائف؟

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

هل يمكن لـ Kimi K2 استبدال النماذج الملكية مثل GPT-4 أو Claude؟

لا يهدف Kimi K2 إلى استبدال النماذج العامة. بدلاً من ذلك، يركز على أن يكون وكيلًا متخصصًا بنقاط قوة في STEM والبرمجة واستخدام الأدوات، مدعومًا بـ قدرات استدعاء الوظائف.

Novita AI هي منصة سحابية شاملة تمكّن طموحاتك في الذكاء الاصطناعي. واجهات API متكاملة، بدون خادم، مثيلات GPU — الأدوات الفعالة من حيث التكلفة التي تحتاجها. تخلص من البنية التحتية، ابدأ مجانًا، وحقق رؤيتك للذكاء الاصطناعي.

قراءة موصى بها