בדף הזה מפורטות שיטות מומלצות ושיקולים שקשורים לתבניות לפרומפטים בשרת, כולל תכונות שעדיין לא נתמכות. שימו לב שרבות מהתכונות האלה יהיו זמינות ככל שתבניות לפרומפט לשרת יתפתחו, אז כדאי לבדוק את נתוני הגרסה כדי להתעדכן.
שיטות מומלצות
רבות מהשיטות המומלצות האלה מפורטות גם במאמר ניהול התבניות.
ניהול גרסאות של התבניות
יוצרים מזהי תבניות שמצורפת אליהם גרסה שמשתמשת בניהול גרסאות סמנטי (semver).
כדאי להשתמש ב-Firebase Remote Config כדי שתוכלו לשנות בקלות את התבנית וערכים אחרים בבקשה.
הגנה על התבנית
אל תערכו תבניות שמשמשות בסביבת הייצור, אלא אם בדקתם את השינוי ביסודיות.
לפני שאתם עוברים לסביבת הייצור, אתם צריכים לנעול את התבנית.
נעילת תבנית מגינה מפני עריכה לא מכוונת, אבל לא חוסמת לחלוטין את האפשרות לערוך. חבר בפרויקט עם ההרשאות המתאימות תמיד יכול לבטל את הנעילה של תבנית כדי לערוך אותה.
מומלץ לנעול תבניות שנמצאות בשימוש פעיל על ידי קוד, במיוחד קוד ייצור.
הגנה על השימוש ב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, שמאפשר להפנות להקשר של משתנה ברמה הבסיסית (root) בלי קשר ל-thisהנוכחי.
תבניות לפרומפטים בצד השרת כנראה לא יתמכו ברכיבים הנפוצים הבאים של Dotprompt:
- שימוש ב-partials, שהם קטעי קוד של תבניות לשימוש חוזר שאפשר לכלול בתבניות אחרות.
שיקולים נוספים
כברירת מחדל, כשמשתמשים בממשק המשתמש המודרך במסוף Firebase, אנחנו מקצים את התבנית בכל האזורים שנתמכים ב-Firebase AI Logic. אם אתם משתמשים ב-Agent Platform Gemini API (formerly Vertex AI) ותרחיש השימוש שלכם דורש הגבלות מבוססות-מיקום, אתם יכולים לציין את המיקום של התבנית באמצעות ה-API בארכיטקטורת REST.
אם רוצים לספק תבנית לפרומפט בשרת כקובץ (במקום להשתמש בממשק המשתמש המודרך במסוף Firebase), אפשר להשתמש ב-API בארכיטקטורת REST. שימו לב שתבניות לפרומפטים בשרת לא תומכות בסכימה שמוגדרת בקוד האפליקציה ומועברת לתבנית.
למרות שהתבנית נמצאת בשרת, היא לא יכולה לקיים אינטראקציה ישירה עם משאבים אחרים בצד השרת של הפרויקט ב-Firebase (כמו מסד נתונים), חוץ מכתובות URL של Cloud Storage for Firebase (שאפשר לספק כמשתני קלט).