Sprawdzone metody i wskazówki dotyczące szablonów


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

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 @key lub ogólnie iterowanie po polach obiektu wejściowego (w tym przypadku @key jest istotne).

  • Użycie @root, które pozwala odwoływać się do kontekstu zmiennej głównej niezależnie od bieżącego this.

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).