Лучшие практики и рекомендации по шаблонам


На этой странице описаны некоторые рекомендации и соображения по использованию шаблонов серверных приглашений, включая функции, которые пока не поддерживаются . Обратите внимание, что многие из этих функций станут доступны по мере развития шаблонов серверных приглашений, поэтому проверяйте примечания к выпуску на наличие обновлений!

Передовые методы

Многие из этих рекомендаций также подробно описаны в разделе «Управление шаблонами» .

Версионируйте свои шаблоны

Защитите свой шаблон

  • Избегайте редактирования шаблонов, используемых в рабочей среде, если вы предварительно тщательно не протестировали внесенные изменения.

  • Заблокируйте свой шаблон перед запуском в производство.

    • Блокировка шаблона служит защитой от непреднамеренного редактирования, но не блокирует редактирование полностью . Участник проекта с соответствующими правами всегда может разблокировать шаблон для его редактирования.

    • Мы рекомендуем блокировать шаблоны, которые активно используются в коде, особенно в рабочем коде.

Защитите использование API Gemini.

  • Напишите строгую проверку входных данных для ваших переменных, что может помочь в следующем:

    • Может помочь защитить от немедленного введения инъекционного препарата.
    • Может помочь обеспечить успешное выполнение запросов и получение ожидаемых ответов.
  • Включите режим использования только шаблонов для вашего проекта Firebase, чтобы все запросы к API Gemini через Firebase AI Logic использовали шаблон запроса сервера.

Функции, пока не поддерживаемые шаблонами серверных приглашений.

Многие из этих функций станут доступны по мере развития шаблонов серверных приглашений, поэтому следите за примечаниями к выпуску , чтобы узнать о обновлениях!

Возможности Firebase AI Logic пока не поддерживаются шаблонами.

Следующие стандартные возможности Firebase AI Logic пока не поддерживаются шаблонами серверных командных строк:

  • Двусторонняя потоковая передача ( Gemini Live API )
  • Гибридный или встроенный в устройство вывод данных
  • Ограничение вывода списком перечислений.

Также обратите внимание, что если вы используете мониторинг ИИ в консоли Firebase , идентификатор шаблона еще не заполнен ни в одной записи.

Общие элементы Dotprompt пока не поддерживаются шаблонами.

В ближайшее время шаблоны серверных командных строк, вероятно, будут поддерживать следующие распространенные элементы Dotprompt:

  • Используйте спецификацию JSON-схемы для входных и выходных схем в метаданных вашего документа.

    • Обратите внимание, что данная спецификация не поддерживается и в запросах, не являющихся серверными шаблонами. В настоящее время мы поддерживаем только спецификацию схемы OpenAPI .
  • Объявление определения поля с подстановочным знаком * .

  • Использование @key или, в целом, итерация по полям входного объекта (именно в этом случае @key имеет значение).

  • Использование @root позволяет ссылаться на контекст корневой переменной независимо от текущего this .

Шаблоны серверных командных строк , скорее всего, не будут поддерживать следующие распространенные элементы Dotprompt:

  • Использование частичных шаблонов — многократно используемых фрагментов шаблонов, которые можно включать в другие шаблоны.

Другие соображения

  • По умолчанию при использовании пошагового пользовательского интерфейса в консоли Firebase шаблон создается во всех доступных регионах для Firebase AI Logic . Если вы используете API Vertex AI Gemini и ваш сценарий использования требует ограничений по местоположению, вы можете указать местоположение для вашего шаблона с помощью REST API.

  • Если вы хотите предоставить шаблон запроса на сервере в виде файла (вместо использования пошагового интерфейса консоли Firebase ), вы можете использовать REST API. Обратите внимание, что шаблоны запросов на сервере не поддерживают схему, определенную в коде приложения и переданную в шаблон.

  • Несмотря на то, что шаблон находится на сервере, он не может напрямую взаимодействовать с другими серверными ресурсами вашего проекта Firebase (например, с базой данных), за исключением URL-адресов Cloud Storage for Firebase (которые можно указать в качестве входных переменных).