AI Edge Function Calling SDK (FC SDK) היא ספרייה שמאפשרת למפתחים להשתמש בקריאה לפונקציות עם LLMs במכשיר. קריאה לפונקציות מאפשרת לקשר מודלים לכלים חיצוניים ולממשקי API, וכך לאפשר למודלים לבצע קריאה לפונקציות ספציפיות עם הפרמטרים הנדרשים כדי לבצע פעולות בעולם האמיתי.
במקום ליצור רק טקסט, LLM שמשתמש ב-FC SDK יכול ליצור קריאה מובנית לפונקציה שמבצעת פעולה, כמו חיפוש מידע עדכני, הגדרת התראות או ביצוע הזמנות.
ערכת ה-SDK של AI Edge FC זמינה ל-Android, וניתן להריץ אותה במכשיר באופן מלא באמצעות LLM Inference API. כדי להתחיל להשתמש ב-SDK, אפשר לעיין במדריך ל-Android, שבו מוסבר איך מטמיעים אפליקציה לדוגמה באמצעות קריאה לפונקציה.
צינור עיבוד נתונים להפעלת פונקציות
כדי להגדיר LLM במכשיר עם יכולות של קריאה לפונקציות, צריך לבצע את השלבים הבאים:
- הגדרת הצהרות על פונקציות: צריך להגדיר בקוד האפליקציה את המבנה והפרמטרים של הפונקציות ש-LLM יכול לקרוא להן. זה כולל ציון שמות, פרמטרים וסוגים של פונקציות.
- עיצוב הנחיות ופלט: טקסט הקלט והפלט יכול להכיל שפה טבעית קריאות לפונקציות. הפורמט קובע איך מבנים של נתונים מומרים למחרוזות ומחרוזות למבנים של נתונים, ומאפשר ל-LLM לעצב את המידע בצורה מתאימה.
- ניתוח הפלט: מנתח מזהה אם התשובה שנוצרה מכילה קריאה לפונקציה ומנתח אותה לסוג של נתונים מובְנים, כדי שהאפליקציה תוכל להריץ את קריאת הפונקציה.
- בדיקת התשובות: אם המנתח מזהה קריאה לפונקציה, האפליקציה קוראת לפונקציה עם הפרמטרים המתאימים וסוג הנתונים המובנה. אחרת, הוא מחזיר טקסט בשפה טבעית.
רכיבים מרכזיים
ערכת ה-SDK של FC כוללת את הרכיבים העיקריים הבאים:
- קצה עורפי של הסקת מסקנות: ממשק להפעלת הסקת מסקנות במודל של AI גנרטיבי. ב-FC SDK נעשה שימוש ב-LLM Inference API כדי לבצע הסקת מסקנות במודלים של LiteRT (TFLite). ה-API משתמש בממשק InferenceBackend.
- כלי לעיצוב הנחיות: ממשק לעיצוב בקשות ותשובות אל מודל ה-AI הגנרטיבי וממנו. FC SDK מספק פורמטטור שממיר הצהרות על פונקציות לפורמט הספציפי לדגם שנדרש ל-LLM, ומוסיף אותן להנחיה של המערכת. הפורמט גם מטפל באסימונים ספציפיים למודל כדי לציין את תורות המשתמש והמודל. ה-API משתמש בממשק ModelFormatter.
- מנתח פלט: ה-SDK של FC מספק מנתח שמזהה אם הפלט של המודל מייצג קריאה לפונקציה, ומנתח אותו למבנה נתונים לשימוש באפליקציה. ה-API משתמש בממשק ModelFormatter.
- פענוח מוגבל: ממשק ליצירה ולניהול של אילוצים, כדי לוודא שהפלט שנוצר עומד בכללים או בתנאים ספציפיים. במודלים נתמכים, ה-FC SDK מגדיר את הקצה העורפי של ההסקה כך שישתמש בפענוח מוגבל, כדי להבטיח שהמודל יניב רק שמות ופרמטריים תקינים של פונקציות. ה-API משתמש בממשק ConstraintProvider.