GPT
N

needle2

קוד פתוח

Cactus-Computeapache-2.02026-07-29

  • cactus-needle
  • needle
  • tool-calling
  • function-calling
  • on-device

מודל מכווץ של 45 מיליון פרמטרים שרץ כולו בתוך קובץ בינארי של 14 מגה בייט. הוא מיועד אך ורק להפעלת כלים ולחילוץ מידע מובנה ישירות על חומרה חלשה.

  • 2,048טוקנים בהקשר
  • 1.0 GBמשקל הקבצים
  • 52,200הורדות בחודש
  • 292לייקים

מה זה

הארכיטקטורה כאן אינה רשת שנאי רגילה, אלא מבנה בשם Simple Attention Network שמחליף את שכבות ה־FFN בהתמרת הדמרד ומשלב זיכרון מבוסס n-grams עם דחיסת CQ2 בשני ביט. בפועל זה אומר שהמודל מייצר פלט מובנה בלבד. גרמטיקה ברמת הבייטים כופה על הטוקנים לעמוד בדיוק בסכמת ה־JSON שהוגדרה מראש, כך שאין כאן תשובות בטקסט חופשי, אין סטיות ממבנה הנתונים ואין שיחות פתוחות.

במבחני ביצועים הוא מתמודד מול מודלים קטנים אחרים כמו FunctionGemma 270M או LFM2.5 230M, כשהוא קטן מהם בעד פי 70 ומשתמש בשני ביט לעומת float16. המדידות מציגות קצב של 500 טוקנים לשנייה על Raspberry Pi 5 ובין 300 ל־700 בטלפונים בסיסיים. אלו אינם מספרים תיאורטיים של שרתים אלא מהירות תגובה מיידית לקריאות לפונקציות בתוך חומרה מוטמעת.

מתאים ל

  • הפעלת פונקציות ברכיבי IoT

    צריכת הזיכרון הנמוכה של 28 מגה בייט מאפשרת להריץ אותו ישירות על מיקרו-בקרים ללא תלות ברשת.

  • חילוץ שדות מטפסים וקבלות

    הגרמטיקה הקשיחה מאלצת את הפלט להתאים במדויק למבנה של מודל Pydantic או סכמת JSON.

  • סוכן פעולות פנימי באפליקציה

    קובץ יחיד של 14 מגה בייט שרץ מקומית על טלפונים במהירות גבוהה ומנתב פקודות משתמש.

איפה זה נופל

המודל אינו מסוגל לייצר טקסט חופשי או לפטפט, ואם מוגשת לו בקשה שאינה מתאימה לאף כלי מהרשימה הוא מחזיר קריאה ריקה בלבד. מעבר לחמישה כלים נכנס מנגנון אחזור פנימי שבוחר רק את חמשת הכלים המובילים, כך שכלים שלא עלו בסינון אינם נגישים כלל באותו תור. בנוסף, חלון ההקשר הפעיל של השיחה מוגבל ל־256 טוקנים בלבד, מה שמונע קריאת מסמכים ארוכים או היסטוריית שיחה מורכבת.

שאלות
נפוצות

איך המודל מוודא שה־JSON לא יוצא שבור?

הוא לא מסתמך על ניחוש של המודל אלא מפעיל גרמטיקה ברמת הבייטים שנגזרת ישירות מהסכמה שהגדרתם. כל טוקן שנפלט חייב לעמוד בחוקי התחביר ובמגבלות הטיפוסים, כך שאי אפשר לקבל פלט שאינו תואם למבנה המבוקש.

מה קורה כשהמודל מקבל פקודה שלא קשורה לכלים?

בניגוד למודלים שמנסים להסביר בנימוס שהם לא יכולים לעזור, החוזה כאן מוחלט ומחזיר מערך קריאות ריק. במקביל, לכל תשובה מצורף ציון ביטחון מכויל, כך שניתן לקבוע סף שמתחתיו המערכת מעבירה את הבקשה הלאה.

האם הוא מסוגל לקרוא מסמכים של אלפי מילים?

לא. המודל מתמקד בחילוץ ממוקד ומוגבל לזיכרון של 256 טוקנים פעילים, ולכן הוא מתאים לפסקאות קצרות, קבלות ופקודות ישירות ולא לקבצים ארוכים.

איך מריצים

המודל מופץ כקובץ בינארי יחיד או ספריית C/C++ סטטית עבור מגוון ארכיטקטורות, החל מ־ARM ו־x86 ועד RISC-V ו־WebAssembly, וקיים לו גם ממשק פייתון דרך cactus-needle. מבחינת חומרה נדרש מינימום מוחלט: צריכת הזיכרון עומדת על כ־28 מגה בייט RAM בזכות חלון הקשר קבוע של 256 טוקנים שמקבע את הכלים כמשקולות KV, ויש דיווחים על ריצה על בקר ESP32-S3 עם 11 מגה בייט בלבד.

שווה להריץ אותו מקומית על המכשיר כשצריכים אפס זמני המתנה ברשת, פעולה ללא חיבור אינטרנט או פרטיות מוחלטת למידע מקומי. לעומת זאת, אם המשימה דורשת שיחה חופשית, ניסוח הסברים ארוכים או עיבוד טקסטים ארוכים מעבר לחלון המוגבל, עדיף להשתמש ב־API של מודל ענן רגיל.

pip install -U huggingface_hub
hf download Cactus-Compute/needle2

הקבצים

102 קבצים במאגר, 1.0 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

רישיון apache-2.0 מאפשר שימוש חופשי לחלוטין בקוד ובמודל, כולל שימוש מסחרי, הפצה, שינוי ושילוב בתוך מוצרים סגורים. התנאי העיקרי הוא שמירה על הודעות זכויות היוצרים והרישיון המקורי, ללא דרישה לחשוף את הקוד של המוצר שבו המודל מוטמע.

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗