Na tej stronie opisujemy niektóre sprawdzone metody i kwestie, które warto wziąć pod uwagę w przypadku szablonów promptów serwera, w tym funkcje, które nie są jeszcze obsługiwane. Pamiętaj, że wiele z tych funkcji będzie dostępnych w miarę rozwoju szablonów promptów serwera, więc sprawdzaj informacje o wersji, aby być na bieżąco.
Sprawdzone metody
Wiele z tych sprawdzonych metod opisano też szczegółowo w artykule Zarządzanie szablonami.
Tworzenie wersji szablonów
Utwórz identyfikatory szablonów z dołączoną wersją, która używa wersjonowania semantycznego (semver).
Użyj Firebase Remote Config, aby łatwo zmienić szablon i inne wartości w żądaniu.
Ochrona szablonu
Unikaj edytowania szablonów używanych w środowisku produkcyjnym, chyba że dokładnie przetestujesz zmiany.
Zablokuj szablon przed przejściem do środowiska produkcyjnego.
Zablokowanie szablonu chroni przed niezamierzonymi zmianami, ale nie uniemożliwia całkowicie jego edytowania. Użytkownik projektu z odpowiednimi uprawnieniami zawsze może odblokować szablon, aby go edytować.
Zalecamy blokowanie szablonów, które są aktywnie używane przez kod, zwłaszcza kod produkcyjny.
Ochrona korzystania z Gemini API
Napisz solidną walidację danych wejściowych dla zmiennych wejściowych, która może pomóc w tych kwestiach:
- Może pomóc w ochronie przed wstrzykiwaniem promptów.
- Może pomóc w zapewnieniu, że żądania zostaną zrealizowane, a odpowiedzi będą zgodne z oczekiwaniami.
Wymuś tryb tylko szablonu w projekcie w Firebase, aby wszystkie żądania Gemini API wysyłane przez Firebase AI Logic musiały używać szablonu promptu serwera.
Funkcje, które nie są jeszcze obsługiwane przez szablony promptów serwera
Wiele z tych funkcji będzie dostępnych w miarę rozwoju szablonów promptów serwera, dlatego sprawdzaj informacje o wersji, aby być na bieżąco.
Możliwości Firebase AI Logic, które nie są jeszcze obsługiwane przez szablony
Te standardowe funkcje Firebase AI Logic nie są jeszcze obsługiwane przez szablony promptów serwera:
- Dwukierunkowe przesyłanie strumieniowe (Gemini Live API)
- Wnioskowanie hybrydowe lub na urządzeniu
- Ograniczanie danych wyjściowych do listy typów wyliczeniowych
Pamiętaj też, że jeśli używasz monitorowania wykorzystania AI w konsoli Firebase, identyfikator szablonu nie jest jeszcze wypełniony w żadnym rekordzie.
Typowe elementy Dotprompt, które nie są jeszcze obsługiwane przez szablony
Szablony promptów serwera prawdopodobnie wkrótce będą obsługiwać te typowe elementy Dotprompt:
Używanie specyfikacji schematu JSON w przypadku schematów wejściowych i wyjściowych w sekcji z metadanymi.
- Pamiętaj, że ta specyfikacja nie jest też obsługiwana w żądaniach szablonów innych niż serwerowe. Obecnie obsługujemy tylko specyfikację schematu OpenAPI.
Deklarowanie definicji pola z symbolem wieloznacznym za pomocą
*.Używanie
@keylub ogólnie iterowanie po polach obiektu wejściowego (w tym przypadku@keyjest istotne).Użycie
@root, które pozwala odwoływać się do kontekstu zmiennej głównej niezależnie od bieżącegothis.
Szablony promptów serwera prawdopodobnie nie będą obsługiwać tych typowych elementów Dotprompt:
- Używanie fragmentów, czyli szablonów wielokrotnego użytku, które można dołączać do innych szablonów.
Inne uwagi
Domyślnie, gdy używasz interfejsu z przewodnikiem w konsoli Firebase, udostępniamy szablon we wszystkich regionach obsługiwanych przez Firebase AI Logic. Jeśli używasz Agent Platform Gemini API (formerly Vertex AI) i Twój przypadek użycia wymaga ograniczeń związanych z lokalizacją, możesz określić lokalizację szablonu za pomocą interfejsu REST API.
Jeśli chcesz podać szablon promptu serwera jako plik (zamiast korzystać z interfejsu konsoli Firebase), możesz użyć interfejsu REST API. Pamiętaj, że szablony promptów serwera nie obsługują schematu zdefiniowanego w kodzie aplikacji i przekazanego do szablonu.
Mimo że szablon znajduje się na serwerze, nie może bezpośrednio wchodzić w interakcje z innymi zasobami po stronie serwera w projekcie w Firebase (np. z bazą danych), z wyjątkiem adresów URL Cloud Storage for Firebase (które można podać jako zmienne wejściowe).