איך מתחילים לאלף רובוט?
-
שלום וברכה
לשם העניין בא נאמר שיש לי מערכת לניהול הוצאות והכנסות עם קטגוריות, מוטבים וחשבונות בנקים.אני רוצה שאדם שמעוניין להזין נתון מסוים יוכל לכתוב טקסט פשוט ו AI ייקח את מכלול הקטגוריות והמוטבים של הלקוח כולל חשבונות הבנק וכרטיסי האשראי וימליץ על מה התכוון המשורר.
למשל:
"50 שח במכולת" או 450 שח ליוסי החשמלאי"ויותר מורכב:
"הוצאתי 550 ש"ח מפועלים ללימודים של חיים" (יש כאן שני פעולות הוצאה מהבנק הפועלים לכיס ותשלום מזומן לתלמוד)
"ארון חדר ילדים מנגריית שומכלום ב8000 ש"ח ב12 תשלומים באשראי של אשתי" (המערכת תזהה 12 תשלומים של 666.66 מאשראי המוגדר על שם האישה בקטגוריית ריהוט לבית)התוצאה שצפויה מה AI היא לסרוק את שמות הבנקים המוטבים והקטגוריות ולהשיב בjson לדוגמא (לדוגמא האחרונה):
{ results: [ { "category_id": 4, "amount": 8000, "payments": 12, "from_wallet_id" : 2, "to_payee": 74 } ] }
השאלה שלי היא נוראה פשוטה...
איך מתחילים?
(בשים לב אין דבר וחצי מושג בGPT כך שאם תוכל נסה לענות לי מהשלבים הראשונים, אחרי ההרשמה לopenAI)תודה מראש.
-
אם אני מבין טוב, אימון של GPT נעשה בעיקר ע"י קלט מוקדם.
לכן קוראים לו "השלמה", כי הוא סה"כ צופה מה המשך השיחה אמור להיות.
הנה המחשה:Q: "50 שח במכולת" A: category_id: מכולת, amount: 50, payments: 1 Q: "450 שח ליוסי החשמלאי" A: category_id: חשמל, amount: 450, payments: 1 Q: הוצאתי 550 ש"ח מפועלים ללימודים של חיים A: category_id: לימודים, amount: 550, payments: 1, from: בנק פועלים Q: "35 ש"ח ממתקים " A: category_id: מתקים, amount: 35, payments: 1 Q: ארון חדר ילדים מנגריית שומכלום ב8000 ש"ח ב12 תשלומים באשראי של אשתי A: category_id: חדר ילדים, amount: 8000, payments: 12, payment_method: אשראי, from: אשתי
כל התשובות כתבתי לבד ידנית למעט השניים האחרונים.
אבל כמובן שאתה לא אמור לשלוח כל פעם את כל הקלט המקדים,
ראה פה https://platform.openai.com/docs/guides/fine-tuning
בעצם אתה מספק לו מידע מוקדם או של שאלות ותשובות או של הנחיות אנושיות.
במקרה שלך שיש המרה בין שפה אנשוית לקטגוריות (למשל מכולת = מזון, מזון = 4), צריך כמובן לתת לו רשימות של הקטגוריות + דוגמאות רבות של מיון. -
@dovid כתב באיך מתחילים לאלף רובוט?:
אבל כמובן שאתה לא אמור לשלוח כל פעם את כל הקלט המקדים,
דווקא בעולם של הLLM הנוכחי יותר ויותר מקובל לא לאמן מחדש (fine tuning) אלא לעשות few shot learning, כלומר בתוך ההוראות לתת דוגמא של הקלט פלט המצופה ולרוב הLLM ידע לענות כמו שצריך.
זה אמנם עולה יותר context, כלומר יותר עלות פר שאילתה, אבל חוסך עלויות אימון (שלרוב עולות יקר למדי)