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


Na tej stronie opisujemy sprawdzone metody i kwestie, które należy 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 opisujemy też w artykule Zarządzanie szablonami.

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

    • Blokowanie szablonu chroni przed przypadkową edycją, ale blokowanie nie blokuje edycji całkowicie. 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 Gemini API

  • Napisz silną walidację danych wejściowych dla zmiennych wejściowych, co może pomóc w:

    • ochronie przed wstrzyknięciem promptu;
    • zapewnieniu, że żądania będą się kończyć powodzeniem, a odpowiedzi będą zgodne z oczekiwaniami.
  • Wymuś tryb tylko szablonu w projekcie Firebase, aby wszystkie Gemini API żądania 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, więc sprawdzaj informacje o wersji, aby być na bieżąco.

Funkcje Firebase AI Logic które nie są jeszcze obsługiwane przez szablony

Te standardowe funkcje z Firebase AI Logic nie są jeszcze obsługiwane przez szablony 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 używasz monitorowania AI w konsoli Firebase, identyfikator szablonu nie jest jeszcze wypełniany 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 dla schematów wejściowych i wyjściowych w nagłówku.

    • 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ą znaku *.

  • Używanie @key lub ogólnie iterowanie po polach wejścia obiektu (w przypadku, gdy @key jest istotny).

  • Używanie @root, które umożliwia odwoływanie 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 częściowych szablonów, czyli fragmentów szablonów, których można używać w innych szablonach.

Inne uwagi

  • Domyślnie, gdy używasz interfejsu z przewodnikiem w konsoli Firebase, udostępniamy szablon we wszystkich dostępnych regionach dla Firebase AI Logic. Jeśli używasz Vertex AI Gemini API 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 promptu serwera jako plik (zamiast używać interfejsu z przewodnikiem w 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 on bezpośrednio wchodzić w interakcje z innymi zasobami po stronie serwera w projekcie Firebase (np. z bazą danych) z wyjątkiem adresów URLCloud Storage for Firebase (które można podać jako zmienne wejściowe ).