GPT
T

t5-small-awesome-text-to-sql

קוד פתוח

cssupportapache-2.02023-08-28

  • transformers
  • pytorch
  • t5
  • text2text-generation
  • en

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

  • 512טוקנים בהקשר
  • 232 MBמשקל הקבצים
  • 3,815הורדות בחודש
  • 76לייקים

מה זה

מדובר בהתאמה של t5-small למשימה אחת בלבד, כתיבת SQL מתוך שפה טבעית באנגלית. אתם מספקים לו את הגדרות הטבלאות בפקודות CREATE TABLE יחד עם השאלה, והוא מחזיר שאילתה. הוא אומן על שילוב של שני מאגרי נתונים מוכרים בתחום, b-mc2/sql-create-context ו־Clinton/Text-to-sql-v1, ותומך גם בשאילתות שמחברות כמה טבלאות עם JOIN.

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

מתאים ל

  • שאילתות על סכמות קטנות

    תרגום שאלות פשוטות באנגלית עבור טבלאות עם מעט עמודות שלא חורגות מ־512 טוקנים.

  • הרצה מקומית במשאבים דלים

    שילוב בתוך שירותים שרצים על מעבד רגיל בלי תלות ברשת ובלי צורך במאיץ גרפי.

  • בוט פנימי לדוחות בסיסיים

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מבין עברית?

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

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

אי אפשר להכניס סכמה גדולה בגלל מגבלת 512 הטוקנים. תצטרכו לסנן מראש רק את הגדרות ה־CREATE TABLE של הטבלאות הרלוונטיות לשאלה הספציפית לפני שאתם מעבירים אותן למודל.

האם הוא תומך בכל סוגי ה־SQL?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="cssupport/t5-small-awesome-text-to-sql")
print(pipe("שלום"))

הקבצים

7 קבצים במאגר, 232 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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

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