GPT
N

natural-sql-7b

קוד פתוח

chatdbcc-by-sa-4.02024-02-02

  • transformers
  • safetensors
  • llama
  • text-generation
  • instruct

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

  • 6.9Bפרמטרים
  • 4,096טוקנים בהקשר
  • 12.9 GBמשקל הקבצים
  • 12,127הורדות בחודש

מה זה

מדובר במודל שפה בגודל שבעה מיליארד פרמטרים שמיועד כולו למשימת Text to SQL, עם דגש ספציפי על ניתוח שאילתות מורכבות והבנת שאלות מרובות תנאים. הוא נבנה על גבי בסיס של DeepSeek ומכוון להוציא קוד מדויק מול סכמות מוגדרות מראש, בעיקר עבור PostgreSQL.

היוצרים שלו בחנו אותו באמצעות חבילת sql-eval של defog על מערכי נתונים חדשים שלא נכללו בשלב האימון, והציגו תוצאות שמציבות אותו מעל מתחרים באותו סדר גודל. המשמעות בפועל היא יכולת טובה יותר לחבר טבלאות מרובות ב־JOIN, לבצע חלוקות מורכבות וחישוב יחסים, בלי לאבד את הקשר הנתונים המקורי או להמציא עמודות שלא קיימות בסכמה.

מתאים ל

  • שאילתות מורכבות ל־Postgres

    התבניות והאימון שלו נבנו ספציפית ל־PostgreSQL כולל שימוש בהמרות טיפוסים מותאמות.

  • עבודה מול סכמות בינוניות

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

  • הטמעה בשרתים מקומיים

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל תומך בבסיסי נתונים שאינם PostgreSQL?

הוא נבנה ונבדק בעיקר מול PostgreSQL כפי שנראה בתבנית ההנחיה שלו. הרצה מול MySQL או SQLite עשויה לעבוד, אך ייתכנו פקודות ספציפיות שלא נתמכות במנועים אלה.

כמה זיכרון וידאו דרוש להרצה רגילה?

הקבצים שוקלים קרוב ל־13 גיגה בדיוק float16. כדי לטעון אותם ולהריץ הסקה יציבה, תצטרכו כרטיס מסך עם 16 גיגה זיכרון גרפי לפחות.

איך מריצים

כדי להריץ אותו מקומית צריך כרטיס מסך עם לפחות 16 גיגה זיכרון גרפי, מאחר שמשקלי ה־float16 תופסים כמעט 13 גיגה לבדם. הטעינה נעשית דרך ספריית transformers בגרסה 4.35.2 עם PyTorch, כאשר הריצה מתבצעת ללא דגימה אקראית, כלומר do_sample מוגדר כ־False כדי לקבל פלט דטרמיניסטי.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="chatdb/natural-sql-7b")
print(pipe("שלום"))

הרישיון

הרישיון הוא CC BY-SA 4.0 שכולל הנחיות שימוש נוספות מהרישיון המקורי של DeepSeek. מותר להשתמש במודל לצרכים מסחריים ולשנות אותו, אבל חובת השיתוף חלה עליכם: אם תבצעו התאמות או אימון נוסף למשקלים, תצטרכו לשחרר את המשקלים החדשים תחת אותו רישיון בדיוק.

  • שימוש מסחרי
  • שינוי הקוד
  • חובת שיתוף באותו רישיון

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