تخطّى إلى المحتوى الرئيسي
استدعاء أدوات

Needle: نموذج استدعاء أدوات بحجم 26M معامل يعمل على أي جهاز – دليل تجريبي عربي

Needle: نموذج استدعاء أدوات بحجم 26M معامل يعمل على أي جهاز – دليل تجريبي عربي
📑 محتويات المقال
    Reference OS v85 دقائق قراءة١٧ مايو ٢٠٢٦informational: فهم نموذج Needle وكيفية تجربته محلياً

    Needle: نموذج استدعاء أدوات بحجم 26M معامل يعمل على أي جهاز – دليل تجريبي عربي

    ستتعلم كيفية تشغيل نموذج Needle (26M معامل) لاستدعاء الأدوات على جهازك المحلي خطوة بخطوة، مع أمثلة عملية وأخطاء شائعة.

    الخلاصة: Needle نموذج صغير (26M) متخصص في استدعاء الأدوات، يعمل على CPU بسرعة عالية. الدليل يشرح التثبيت والتشغيل مع مثال تحويل العملات، مع تحذير من عدم وضوح README.
    نموذج Needle لاستدعاء الأدوات706 كلمة تقريباًزارو — مكتبة الأدلة العملية
    Needle: نموذج استدعاء أدوات بحجم 26M معامل يعمل على أي جهاز – دليل تجريبي عربي
    Photo by Maksim Goncharenok on Pexels
    LIVE PROJECTcactus-compute/needle★ 0

    Show HN: Needle: We Distilled Gemini Tool Calling into a 26M Model

    رابط المشروع على GitHub ↗

    MAP

    خريطة الصفحة

    اختر القسم الذي تحتاجه الآن

    1. ما هو Needle؟ شرح مبسط
    2. من يحتاج Needle ومن لا؟
    3. المميزات الرئيسية
    4. المتطلبات قبل البدء
    5. تركيب Needle خطوة بخطوة (تحذير: README غير واضح)
    6. تشغيل Needle وتجربة استدعاء أداة
    7. الأخطاء الشائعة وحلولها
    8. استخدامات عملية في السوق السعودي/الخليجي
    9. هل يستحق Needle التجربة؟ تقييم موضوعي
    10. بدائل Needle المشابهة
    11. الأسئلة الشائعة (FAQ)
    12. خاتمة
    !

    قبل أن تطبق

    الفكرة التي تمنع التسرع

    تعتقد أن نماذج استدعاء الأدوات تحتاج إلى موارد سحابية ضخمة؟ نموذج بحجم 26M معامل يعمل على حاسوبك العادي قد يغير هذه القناعة.

    Q

    أسئلة التشخيص السريع

    قبل أن تطبق، اعرف أين تقف بالضبط

    1. هل تبحث عن نموذج استدعاء أدوات خفيف يعمل محلياً؟
    2. هل تحتاج إلى أتمتة مهام مثل تحويل العملات أو حجز مواعيد دون اشتراكات سحابية؟
    3. هل لديك خبرة في Python و PyTorch؟
    4. هل جهازك محدود الموارد (RAM 2GB)؟
    5. هل تفضل نموذجاً مفتوح المصدر برخصة Apache 2.0؟
    6. هل أنت مستعد لتجربة نموذج قد لا يكون جاهزاً للإنتاج بعد؟
    7. هل تحتاج إلى دقة عالية في مهام معقدة أم مهام بسيطة؟

    نظام التشغيل: Input → Process → Output

    INPUT
    نص المستخدم (prompt) مع تعريفات الأدوات (tool definitions) بصيغة JSON.
    PROCESS
    نموذج Simple Attention Networks يحول الاستعلام إلى اسم الأداة والقيم المطلوبة.
    OUTPUT
    JSON منظم يحتوي على اسم الأداة والمعاملات (arguments).
    Decision Layer
    اختيار الأداة المناسبة بناءً على التشابه بين الاستعلام وأسماء الأدوات.
    Memory Layer
    غير موجود؛ كل استعلام مستقل.
    Feedback Loop
    يمكن تحسين النموذج بضبط دقيق (fine-tuning) على أدوات مخصصة.
    M

    لوحة قياس النجاح

    لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه

    المؤشرطريقة القياسإشارة جيدة
    سرعة التوليدقياس وقت الاستجابة لاستدعاء أداةأقل من 100ms لكل استدعاء
    دقة استدعاء الأداةنسبة الاستدعاءات الصحيحة إلى الإجماليأكثر من 80%
    استهلاك الذاكرةمراقبة RAM أثناء التشغيلأقل من 2GB

    ظهر في Hacker News نموذج Needle من Cactus Compute، وهو نموذج استدعاء أدوات (tool calling) بحجم 26 مليون معامل فقط. الفكرة: استدعاء الأدوات لا يحتاج إلى نماذج ضخمة؛ يكفي نموذج صغير متخصص يعمل على أي جهاز. هذا الدليل يشرح لك كيفية تجربته محلياً، خطوة بخطوة، مع أمثلة عملية وأخطاء شائعة.

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

    ما هو Needle؟ شرح مبسط

    Needle هو نموذج لغة صغير (26M معامل) متخصص في مهمة واحدة: استدعاء الأدوات. يعني إذا قلت له "حول 100 دولار إلى ريال سعودي"، يرجع JSON مثل: {'tool': 'convert_currency', 'args': {'amount': 100, 'from': 'USD', 'to': 'SAR'}}. الفكرة أن النماذج الكبيرة تهدر مواردها في التفكير العام، بينما استدعاء الأدوات مجرد مطابقة واستخراج.

    من يحتاج Needle ومن لا؟

    إعلان

    يحتاجه: مطور يريد بناء وكيل ذكي (agent) يعمل محلياً، صاحب مشروع صغير يريد أتمتة مهام دون اشتراكات سحابية، باحث في النماذج الصغيرة.

    لا يحتاجه: من يريد نموذج دردشة عام، أو يحتاج دقة عالية في مهام معقدة، أو يفضل حلولاً جاهزة مثل OpenAI.

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

    • حجم صغير جداً (26M معامل) يعمل على CPU.
    • سرعة عالية: 6000 tok/s prefill، 1200 tok/s decode.
    • مفتوح المصدر (رخصة Apache 2.0 حسب README).
    • مصمم خصيصاً لاستدعاء الأدوات، ليس دردشة.

    المتطلبات قبل البدء

    • Python 3.8+
    • مكتبة PyTorch (يفضل مع دعم CUDA إن وجد)
    • مكتبة transformers من Hugging Face
    • ذاكرة RAM: 2GB على الأقل
    • اتصال إنترنت لتحميل النموذج (مرة واحدة)

    تركيب Needle خطوة بخطوة (تحذير: README غير واضح)

    الخطوات التالية تقريبية بناءً على بنية المشروع. قد تختلف بعد تحديث README.

    1. استنساخ المستودع: git clone https://github.com/cactus-compute/needle.git
    2. الدخول إلى المجلد: cd needle
    3. تثبيت المتطلبات: pip install -r requirements.txt (إذا لم يوجد، جرب pip install torch transformers)
    4. تحميل النموذج: استخدم from transformers import AutoModelForCausalLM, AutoTokenizer مع اسم النموذج cactus-compute/needle.

    تشغيل Needle وتجربة استدعاء أداة

    مثال عملي: استدعاء أداة تحويل العملات.

    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    model_name = 'cactus-compute/needle'
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(model_name)
    
    # تعريف الأداة
    tools = [
        {
            'name': 'convert_currency',
            'description': 'تحويل عملة إلى أخرى',
            'parameters': {
                'type': 'object',
                'properties': {
                    'amount': {'type': 'number'},
                    'from': {'type': 'string'},
                    'to': {'type': 'string'}
                },
                'required': ['amount', 'from', 'to']
            }
        }
    ]
    
    prompt = 'حول 100 دولار إلى ريال سعودي'
    inputs = tokenizer(prompt, return_tensors='pt')
    outputs = model.generate(**inputs, max_new_tokens=100)
    result = tokenizer.decode(outputs[0])
    print(result)
    # يتوقع أن يخرج JSON مشابه لـ: {"tool": "convert_currency", "args": {"amount": 100, "from": "USD", "to": "SAR"}}
    

    الأخطاء الشائعة وحلولها

    الخطأالسببالحل
    خطأ في تحميل النموذجاسم النموذج غير صحيح أو غير موجودتأكد من اسم المستودع: cactus-compute/needle
    نفاد الذاكرةRAM غير كافيةاستخدم CPU فقط أو قلل حجم الدفعة (batch size)
    خرج غير JSONالنموذج لم يُضبط جيداً على المهمةجرب prompt مختلف أو استخدم fine-tuning

    استخدامات عملية في السوق السعودي/الخليجي

    • روبوت تحويل العملات في تطبيق مصرفي محلي.
    • أداة حجز مواعيد في عيادة: استدعاء أداة reservation مع تاريخ وطبيب.
    • مساعد طلب طعام: استدعاء أداة order مع اسم الوجبة والعنوان.

    هل يستحق Needle التجربة؟ تقييم موضوعي

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

    بدائل Needle المشابهة

    • Gorilla (7B): نموذج أكبر لكنه أقوى في استدعاء APIs.
    • Toolformer: من Meta، لكنه غير متاح للجميع.
    • OpenAI Function Calling: دقيق لكنه سحابي ومدفوع.

    الأسئلة الشائعة (FAQ)

    ما هو Needle بالضبط؟

    نموذج لغة صغير متخصص في استدعاء الأدوات، مبني على Simple Attention Networks.

    هل Needle مجاني تماماً؟

    نعم، مفتوح المصدر برخصة Apache 2.0.

    ما هي متطلبات تشغيل Needle؟

    Python 3.8+، PyTorch، transformers، و2GB RAM.

    هل يمكن استخدام Needle بدون اتصال بالإنترنت؟

    بعد تحميل النموذج، نعم.

    ما الفرق بين Needle والنماذج الكبيرة مثل GPT-4؟

    Needle أصغر بكثير وأسرع، لكنه أقل دقة ومرونة.

    هل يدعم Needle اللغة العربية؟

    النموذج مدرب على بيانات إنجليزية بشكل أساسي، لكنه قد يفهم العربية البسيطة.

    كيف يمكنني تجربة Needle على نظام Windows؟

    نفس الخطوات، تأكد من تثبيت Python وPyTorch بشكل صحيح.

    ما هي أفضل البدائل لـ Needle؟

    Gorilla (7B) أو OpenAI Function Calling.

    خاتمة

    Needle مشروع واعد في مجال استدعاء الأدوات بنماذج صغيرة. جربه على جهازك، وشارك ملاحظاتك مع المجتمع. تذكر أن المشروع جديد، لذا توقع بعض النواقص.

    DO

    Playbook التطبيق

    خطوات عملية مرتبة من التشخيص إلى النتيجة

    خطوة 1

    استنساخ المستودع

    لماذا؟ للحصول على كود النموذج والملفات اللازمة

    كيف؟ git clone https://github.com/cactus-compute/needle.git

    الناتج: مجلد needle يحتوي على الكود

    خطوة 2

    تثبيت المتطلبات

    لماذا؟ لتثبيت المكتبات المطلوبة (PyTorch, transformers)

    كيف؟ pip install torch transformers

    الناتج: تثبيت المكتبات بنجاح

    خطوة 3

    تحميل النموذج

    لماذا؟ لتحميل أوزان النموذج من Hugging Face

    كيف؟ from transformers import AutoModelForCausalLM, AutoTokenizer; model = AutoModelForCausalLM.from_pretrained('cactus-compute/needle')

    الناتج: نموذج جاهز للاستخدام

    خطوة 4

    تشغيل مثال تحويل العملات

    لماذا؟ لتجربة استدعاء أداة عملياً

    كيف؟ استخدم الكود المقدم في المقال مع تعريف أداة convert_currency

    الناتج: JSON يحتوي على الأداة والوسائط

    TMP

    قوالب جاهزة للنسخ

    حوّل القراءة إلى تنفيذ سريع

    قالب استدعاء أداة تحويل عملات
    from transformers import AutoModelForCausalLM, AutoTokenizer
    model_name = 'cactus-compute/needle'
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(model_name)
    tools = [{'name': 'convert_currency', 'description': 'تحويل عملة إلى أخرى', 'parameters': {'type': 'object', 'properties': {'amount': {'type': 'number'}, 'from': {'type': 'string'}, 'to': {'type': 'string'}}, 'required': ['amount', 'from', 'to']}}]
    prompt = 'حول 100 دولار إلى ريال سعودي'
    inputs = tokenizer(prompt, return_tensors='pt')
    outputs = model.generate(**inputs, max_new_tokens=100)
    result = tokenizer.decode(outputs[0])
    print(result)
    ERR

    مصفوفة الأخطاء

    اعرف أين يتعثر الناس وكيف تتجنب ذلك

    الخطألماذا يحدث؟التصحيح
    خطأ في تحميل النموذجاسم النموذج غير صحيح أو غير موجودتأكد من اسم المستودع: cactus-compute/needle
    نفاد الذاكرةRAM غير كافيةاستخدم CPU فقط أو قلل حجم الدفعة (batch size)
    خرج غير JSONالنموذج لم يُضبط جيداً على المهمةجرب prompt مختلف أو استخدم fine-tuning
    IF

    شجرة القرار

    ماذا تفعل حسب حالتك؟

    إذا: إذا كنت تبحث عن نموذج خفيف وسريع لمهمة محددة

    إذن: جرب Needle

    إذا: إذا كنت تحتاج دقة عالية في مهام معقدة

    إذن: استخدم Gorilla (7B) أو OpenAI Function Calling

    إذا: إذا كان README غير واضح

    إذن: اتبع الخطوات التقريبية في هذا الدليل

    7D

    خطة تطبيق 7 أيام

    جدول صغير يمنع التسويف

    1. اليوم 1: استنساخ المستودع وتثبيت المتطلبات
    2. اليوم 2: تحميل النموذج وتشغيل مثال بسيط
    3. اليوم 3: تجربة أدوات مختلفة (تحويل عملات، حجز مواعيد)
    4. اليوم 4: اختبار الأداء على CPU
    5. اليوم 5: معالجة الأخطاء الشائعة
    6. اليوم 6: تقييم الدقة في مهام بسيطة
    7. اليوم 7: اتخاذ قرار: استخدام Needle أم بديل
    FACT

    حقائق سريعة تحفظها

    نقاط مختصرة ترجع لها لاحقاً

    1. حجم النموذج: 26 مليون معامل فقط

    2. السرعة: 6000 tok/s prefill، 1200 tok/s decode

    3. الترخيص: Apache 2.0

    4. متطلبات RAM: 2GB على الأقل

    5. يعمل على CPU بدون GPU

    6. مصمم خصيصاً لاستدعاء الأدوات وليس الدردشة

    7. README المشروع غير واضح حالياً

    8. النموذج مدرب أساساً على الإنجليزية

    FAQ

    أسئلة شائعة

    إجابات مباشرة على ما يبحث عنه الزائر

    ما هو Needle بالضبط؟

    نموذج لغة صغير (26M) متخصص في استدعاء الأدوات، مبني على Simple Attention Networks.

    هل Needle مجاني تماماً؟

    نعم، مفتوح المصدر برخصة Apache 2.0.

    ما هي متطلبات تشغيل Needle؟

    Python 3.8+، PyTorch، transformers، و2GB RAM.

    هل يمكن استخدام Needle بدون اتصال بالإنترنت؟

    بعد تحميل النموذج، نعم.

    ما الفرق بين Needle والنماذج الكبيرة مثل GPT-4؟

    Needle أصغر بكثير وأسرع، لكنه أقل دقة ومرونة.

    هل يدعم Needle اللغة العربية؟

    النموذج مدرب على بيانات إنجليزية بشكل أساسي، لكنه قد يفهم العربية البسيطة.

    كيف يمكنني تجربة Needle على نظام Windows؟

    نفس الخطوات، تأكد من تثبيت Python وPyTorch بشكل صحيح.

    ما هي أفضل البدائل لـ Needle؟

    Gorilla (7B) أو OpenAI Function Calling.

    ABC

    مصطلحات سريعة

    تعريفات مختصرة تمنع الالتباس

    استدعاء الأدوات (Tool Calling)

    عملية تحويل طلب طبيعي إلى استدعاء دالة محددة مع وسائطها.

    Simple Attention Networks

    بنية شبكة عصبية مبسطة تستخدم آلية الانتباه.

    Prefill

    مرحلة معالجة المدخلات قبل بدء التوليد.

    Decode

    مرحلة توليد المخرجات رمزاً برمز.

    Q+

    أسئلة مرتبطة يبحث عنها الناس

    استخدمها كمسارات متابعة داخل نفس الموضوع

    كيفية استخدام Needle في مشروع عربيNeedle مقابل Gorillaتشغيل Needle على Raspberry Piأمثلة استدعاء أدوات مع Needleضبط Needle على أدوات مخصصة

    لماذا هذا المرجع يتجاوز الموضوع نفسه؟

    تحول القارئ: من متشكك في جدوى النماذج الصغيرة إلى ممارس يجرب Needle على جهازه

    • يمكن دمج Needle مع LangChain لبناء وكيل ذكي
    • استخدام Needle في تطبيقات إنترنت الأشياء (IoT) لاستدعاء أجهزة
    SAVE

    كيف تستخدم هذا المرجع لاحقاً؟

    القيمة الحقيقية تظهر عند العودة والتطبيق

    لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.

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

    UPD

    خطة تحديث هذا الدليل

    حتى يبقى المرجع صالحاً مع الوقت

    • تحديث الخطوات إذا تغير README
    • إضافة أمثلة جديدة لأدوات عربية
    • تحديث معلومات الأداء بناءً على إصدارات جديدة
    • مراجعة البدائل عند ظهور نماذج جديدة

    زارو — مكتبة الأدلة العملية

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

    Evergreen Reference + GitHub Intelligence + Multi-Stage AI OS v8.0.0-EVERGREEN-GITHUB-AI-INTELLIGENCE-OS

    [Object]
    كاتب في Ficus Web | تقرير إخباري وقصة قصيرة

    مقالات ذات صلة

    اقتراحات مبنية على أول تصنيف مرتبط بالمقال الحالي

    التعليقات (0)

    لا توجد تعليقات بعد. كن أول من يبدأ النقاش 👇