שיטות מומלצות ושיקולים לגבי תבניות


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

שיטות מומלצות

רבות מהשיטות המומלצות האלה מפורטות גם במאמר בנושא ניהול התבניות.

יצירת גרסאות של התבניות

הגנה על התבנית

  • מומלץ להימנע מעריכה של תבניות שנמצאות בשימוש בסביבת הייצור, אלא אם בדקתם את השינוי באופן יסודי.

  • לפני שמעבירים את התבנית לסביבת הייצור, צריך לנעול אותה.

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

    • מומלץ לנעול תבניות שנמצאות בשימוש פעיל בקוד – במיוחד קוד ייצור.

הגנה על השימוש ב-Gemini API

  • כדאי לכתוב אימות קלט חזק למשתני הקלט, שיכול לעזור במקרים הבאים:

    • יכול לעזור בהגנה מפני החדרת הנחיות.
    • יכול לעזור לוודא שהבקשות יצליחו והתשובות יהיו כצפוי.
  • הפעלת מצב של תבנית בלבד בפרויקט Firebase כדי שכל הבקשות של Gemini API דרך Firebase AI Logic יצטרכו להשתמש בתבנית של הנחיה לשרת.

תכונות שעדיין לא נתמכות בתבניות של הנחיות לשרת

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

היכולות של Firebase AI Logic עדיין לא נתמכות בתבניות

היכולות הסטנדרטיות הבאות מ-Firebase AI Logic עדיין לא נתמכות באמצעות תבניות של הנחיות לשרת:

  • סטרימינג דו-כיווני (Gemini Live API)
  • הסקה היברידית או הסקה במכשיר
  • הגבלת הפלט לרשימה של סוגי enum

חשוב גם לדעת שאם משתמשים במעקב אחרי שימוש בתכונות AI במסוף Firebase, מזהה התבנית עדיין לא מאוכלס באף רשומה.

תבניות עדיין לא תומכות ברכיבים נפוצים של Dotprompt

בקרוב, סביר להניח שתבניות של הנחיות לשרת יתמכו ברכיבים הנפוצים הבאים של Dotprompt:

  • שימוש במפרט סכימת JSON לסכימות קלט ופלט ב-frontmatter.

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

  • שימוש ב-@key או באופן כללי, חזרה על השדות של קלט אובייקט (שזה המקרה שבו @key רלוונטי).

  • אפשר להשתמש ב-@root, שמאפשר להפנות להקשר של משתנה הבסיס בלי קשר ל-this הנוכחי.

תבניות להנחיות בשרת כנראה לא יתמכו ברכיבים הנפוצים הבאים של Dotprompt:

  • שימוש בחלקים, שהם קטעי תבניות לשימוש חוזר שאפשר לכלול בתבניות אחרות.

שיקולים נוספים

  • כברירת מחדל, כשמשתמשים בממשק המשתמש המודרך במסוף Firebase, אנחנו מקצים את התבנית בכל האזורים הזמינים של Firebase AI Logic. אם אתם משתמשים ב-Vertex AI Gemini API והתרחיש לדוגמה שלכם דורש הגבלות מבוססות-מיקום, אתם יכולים לציין את המיקום של התבנית באמצעות API בארכיטקטורת REST.

  • אם רוצים לספק תבנית הנחיה לשרת כקובץ (במקום להשתמש בממשק המשתמש המודרך של מסוף Firebase), אפשר להשתמש ב-API בארכיטקטורת REST. שימו לב שתבניות של הנחיות לשרת לא תומכות בסכימה שמוגדרת בקוד האפליקציה ומועברת לתבנית.

  • למרות שהתבנית נמצאת בשרת, היא לא יכולה ישירות ליצור אינטראקציה עם משאבים אחרים בצד השרת של פרויקט Firebase (כמו מסד נתונים), אלא עם כתובות URL של Cloud Storage for Firebase (שאפשר לספק כמשתני קלט).