GPT
G

gorilla-openfunctions-v2

קוד פתוח

gorilla-llmapache-2.02024-02-26

  • transformers
  • pytorch
  • llama
  • text-generation
  • conversational

מודל קוד פתוח שמתמחה בהמרת שפה טבעית לקריאות פונקציה ו־API. הוא נבנה כחלופה מקומית לכלים קנייניים ומגיע לדיוק שמתחרה ב־GPT-4 במשימות האלו.

  • 4,096טוקנים בהקשר
  • 12.9 GBמשקל הקבצים
  • 172הורדות בחודש
  • 245לייקים

מה זה

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

הוא מבוסס על מודל הקוד deepseek-coder-7b-instruct-v1.5 ומכיל 7 מיליארד פרמטרים. במבחן הביצועים של ברקלי לקריאת פונקציות הוא קיבל ציון דיוק של 83.67%, שזה קרוב מאוד ל־85.12% של GPT-4-0125 ומעל 82.23% של GPT-3.5-turbo. הנתון הזה אומר שבמשימות ניתוב והרכבת פרמטרים לכלים חיצוניים, המודל הזה מתנהג כמעט כמו המודלים הגדולים ביותר בשוק.

מתאים ל

  • סוכני ניתוב וקריאות API

    הוא ממיר פקודות משתמש לקריאות REST או לפקודות שירות מורכבות עם שילוב כמה פונקציות במקביל.

  • מערכות אוטומציה פנימיות

    מתאים לשרתים פנימיים שצריכים להפעיל סקריפטים בפייתון או ג'אווה בלי לשלוח נתונים החוצה לענן.

  • סינון שיחה לעומת פקודה

    הוא מזהה מתי צריך רק להחזיר טקסט למשתמש ומתי צריך להפיק קריאה לכלי מבני.

איפה זה נופל

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

אותה משפחה

gorilla-openfunctions יצא ב־3 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל הזה מתאים כצ'אטבוט רגיל לשירות לקוחות?

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

מה קורה אם המודל נכשל ביצירת מבנה JSON תקין?

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

האם הוא תומך בעברית לקריאת פונקציות?

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

איך מריצים

כדי להריץ אותו אצלכם בדיוק המקורי של bfloat16, צריך כרטיס מסך עם לפחות 16 עד 24 גיגה זיכרון, שכן הקבצים שוקלים 12.9 גיגה בייט. קיימת גרסה מכווצת בפורמט GGUF בעמוד אחר של הפרויקט, והיא מתאימה למחשבים מקומיים או לכרטיסים חלשים יותר. ההרצה המקומית דורשת תלויות נוספות כמו tree-sitter כדי לפרסר את התוצאות לג'אווה ולג'אווהסקריפט.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="gorilla-llm/gorilla-openfunctions-v2")
print(pipe("שלום"))

הרישיון

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

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

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