Na tej stronie znajdziesz sprawdzone metody i wskazówki dotyczące szablonów promptów serwera, w tym funkcje, które nie są jeszcze obsługiwane. Pamiętaj, że wiele z tych funkcji będzie udostępnianych 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 zostało również opisanych w artykule Zarządzanie szablonami.
Wersjonowanie szablonów
Twórz identyfikatory szablonów z dodaną wersją, która korzysta z semantycznej obsługi wersji (semver).
Użyj Firebase Remote Config aby móc łatwo zmieniać szablon i inne wartości w swoim żą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 przypadkową edycją, ale nie całkowicie nie blokuje edycji. Członek projektu z odpowiednimi uprawnieniami może zawsze odblokować szablon, aby go edytować.
Zalecamy blokowanie szablonów, które są aktywnie używane przez kod, zwłaszcza kod produkcyjny.
Ochrona korzystania z usługi Gemini API
Napisz solidną weryfikację 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ś w projekcie Firebase tryb tylko szablonu, aby wszystkie żądania Gemini API wysyłane za pomocą Firebase AI Logic musiały korzystać z szablonu prompta serwera.
Funkcje, które nie są jeszcze obsługiwane przez szablony promptów serwera
Wiele z tych funkcji będzie udostępnianych w miarę rozwoju szablonów promptów serwera, więc sprawdzaj informacje o wersji, aby być na bieżąco.
Funkcje Firebase AI Logic nie są jeszcze obsługiwane przez szablony
Te standardowe funkcje Firebase AI Logic nie są jeszcze obsługiwane w szablonach promptów serwera:
- Strumieniowanie dwukierunkowe (Gemini Live API)
- Wnioskowanie hybrydowe lub na urządzeniu
- Ograniczanie danych wyjściowych do listy wyliczeń
Pamiętaj też, że jeśli korzystasz z monitorowania wykorzystania AI w konsoli Firebase, identyfikator szablonu nie jest jeszcze wypełniony w żadnym rekordzie.
Typowe elementy Dotprompt nie są jeszcze obsługiwane przez szablony
Szablony promptów serwera wkrótce będą prawdopodobnie obsługiwać te popularne elementy Dotprompt:
Użyj specyfikacji schematu JSON dla schematów wejściowych i wyjściowych w sekcji z metadanymi.
- Pamiętaj, że ta specyfikacja nie jest też obsługiwana w przypadku żądań szablonów innych niż serwerowe. Obecnie obsługujemy tylko specyfikację schematu OpenAPI.
Deklarowanie definicji pola wieloznacznego za pomocą symbolu
*.Używanie
@keylub ogólne iterowanie po polach danych wejściowych obiektu (w przypadku gdy@keyjest odpowiednie).Użyj
@root, aby odwołać się do kontekstu zmiennej głównej niezależnie od bieżącegothis.
Szablony promptów serwera prawdopodobnie nie będą obsługiwać tych popularnych elementów Dotprompt:
- używając częściowych szablonów, czyli fragmentów szablonów wielokrotnego użytku, które można uwzględniać w innych szablonach;
Inne uwagi
Domyślnie, gdy korzystasz z interfejsu z instrukcjami w konsoli Firebase, udostępniamy szablon we wszystkich obsługiwanych regionach dla Firebase AI Logic. Jeśli używasz Agent Platform Gemini API (formerly Vertex AI) i Twój przypadek użycia wymaga ograniczeń opartych na lokalizacji, możesz określić lokalizację szablonu za pomocą interfejsu REST API.
Jeśli chcesz udostępnić szablon prompta serwera jako plik (zamiast korzystać z interfejsu Firebase konsoli), możesz użyć interfejsu REST API. Pamiętaj, że szablony promptów serwera nie obsługują schematu zdefiniowanego w kodzie aplikacji i przekazywanego do szablonu.
Chociaż 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).