בדף הזה מתוארות כמה שיטות מומלצות ושיקולים לגבי תבניות של הנחיות לשרת, כולל תכונות שעדיין לא נתמכות. שימו לב שרבות מהתכונות האלה לא זמינות בגרסה הראשונית של תבניות הנחיות לשרת, לכן כדאי לעיין בהערות על הגרסה כדי לקבל עדכונים.
שיטות מומלצות
רבות מהשיטות המומלצות האלה מפורטות גם במאמר בנושא ניהול התבניות.
יצירת גרסאות של תבניות
יוצרים מזהי תבניות עם גרסה שמצורפת אליהם, באמצעות ניהול גרסאות סמנטי (semver).
כדאי להשתמש ב-Firebase Remote Config כדי שתוכלו לשנות בקלות את התבנית וערכים אחרים בבקשה.
הגנה על התבנית
לפני שמעבירים את התבנית לסביבת הייצור, צריך לנעול אותה. כדאי להימנע מעריכה של תבניות שנמצאות בשימוש בייצור.
נעילת תבנית משמשת כאמצעי הגנה מפני עריכה לא מכוונת, אבל הנעילה לא חוסמת לחלוטין את האפשרות לערוך. חבר בפרויקט עם ההרשאות המתאימות תמיד יכול לבטל את הנעילה של תבנית כדי לערוך אותה.
מומלץ לנעול תבניות שנמצאות בשימוש פעיל בקוד – במיוחד קוד ייצור.
כדאי לכתוב אימות קלט חזק למשתני הקלט, שיכול לעזור במקרים הבאים:
- יכול לעזור בהגנה מפני החדרת הנחיות.
- יכול לעזור לוודא שהבקשות יצליחו והתשובות יהיו כצפוי.
תכונות שעדיין לא נתמכות
הרבה מהתכונות האלה שלא נתמכות עדיין לא זמינות רק בגרסה הראשונית, לכן כדאי לעיין בהערות לגבי הגרסה כדי לקבל עדכונים.
יכולות של Firebase AI Logic שעדיין לא נתמכות
תבניות של הנחיות לשרת עדיין לא תומכות ביכולות הבאות של Firebase AI Logic. חלק מהיכולות האלה יהיו זמינות בקרוב.
- צ'אט
- שימוש בכלים (כולל קריאה לפונקציות ועיגון באמצעות חיפוש Google)
- עריכה איטרטיבית של תמונות (צ'אט) באמצעות מודלים של Gemini (נדרש צ'אט)
- עריכת תמונות באמצעות מודלים של Imagen
- הזרמה דו-כיוונית (Gemini Live API)
- היברידי במכשיר
- הגבלת הפלט לרשימה של סוגי enum
- הגדרת הגדרות שקשורות לחשיבה
- הגדרת הגדרות בטיחות
חשוב גם לדעת שאם משתמשים בניטור AI במסוף Firebase, מזהה התבנית עדיין לא מאוכלס באף רשומה.
אלמנטים נפוצים של Dotprompt שעדיין לא נתמכים
סביר להניח שבקרוב תהיה תמיכה בתבניות של הנחיות לשרת ברכיבים הנפוצים הבאים של Dotprompt:
שימוש במפרט סכימת JSON לסכימות קלט ופלט ב-frontmatter.
- הערה: המפרט הזה לא נתמך גם בבקשות של תבניות שאינן תבניות של שרת. בשלב הזה אנחנו תומכים רק במפרט סכימת OpenAPI.
הצהרה על הגדרת שדה עם תו כללי לחיפוש באמצעות
*.שימוש ב-
@keyאו באופן כללי, חזרה על השדות של קלט אובייקט (זה המקרה שבו@keyרלוונטי).אפשר להשתמש ב-
@root, שמאפשר להפנות להקשר של משתנה הבסיס בלי קשר ל-thisהנוכחי.
תבניות להנחיות בשרת כנראה לא יתמכו ברכיבים הנפוצים הבאים של Dotprompt:
- שימוש בחלקים, שהם קטעי תבנית לשימוש חוזר שאפשר לכלול בתבניות אחרות.
שיקולים נוספים
כברירת מחדל, כשמשתמשים בממשק המשתמש המודרך במסוף Firebase, אנחנו מקצים את התבנית בכל האזורים הזמינים של Firebase AI Logic. אם אתם משתמשים ב-Vertex AI Gemini API והתרחיש לדוגמה שלכם דורש הגבלות מבוססות-מיקום, אתם יכולים לציין את המיקום של התבנית באמצעות REST API.
אם רוצים לספק תבנית הנחיה לשרת כקובץ (במקום להשתמש בממשק המשתמש המודרך של מסוף Firebase), אפשר להשתמש ב-REST API. שימו לב שתבניות של הנחיות לשרת לא תומכות בסכימה שמוגדרת בקוד האפליקציה ומועברת לתבנית.
למרות שהתבנית נמצאת בשרת, היא לא יכולה ישירות ליצור אינטראקציה עם משאבים אחרים בצד השרת של פרויקט Firebase (כמו מסד נתונים), אלא עם כתובות URL של Cloud Storage for Firebase (שאפשר לספק כמשתני קלט).