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


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

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

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

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

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

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

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

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

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

הגנה על השימוש ב-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 (שאפשר לספק כמשתני קלט).