Создавайте многоходовые беседы (чат) с помощью API Gemini.


Используя API Gemini, вы можете создавать диалоги в произвольной форме, состоящие из нескольких ходов. Vertex AI для Firebase SDK упрощает процесс, управляя состоянием диалога, поэтому, в отличие от generateContentStream() generateContent() , вам не нужно самостоятельно хранить историю разговора.

Прежде чем вы начнете

Если вы еще этого не сделали, ознакомьтесь с руководством по началу работы с Vertex AI для Firebase SDK . Убедитесь, что вы выполнили все следующее:

  • Настройте новый или существующий проект Firebase, включая использование тарифного плана Blaze и включение необходимых API.

  • Подключите свое приложение к Firebase, включая регистрацию вашего приложения и добавление конфигурации Firebase в ваше приложение.

  • Добавьте SDK и инициализируйте службу Vertex AI и генеративную модель в своем приложении.

После того как вы подключили свое приложение к Firebase, добавили SDK и инициализировали службу Vertex AI и генеративную модель, вы готовы вызвать Gemini API.

Отправить запрос на подсказку в чате

Чтобы построить многоходовой разговор (например, чат), начните с инициализации чата, вызвав startChat() . Затем используйте sendMessageStream() (или sendMessage() ), чтобы отправить новое сообщение пользователя, которое также добавит сообщение и ответ в историю чата.

Существует два возможных варианта role , связанной с содержимым беседы:

  • user : роль, которая предоставляет подсказки. Это значение является значением по умолчанию для вызовов sendMessageStream() (или sendMessage() ), и функция выдает исключение, если передается другая роль.

  • model : роль, которая предоставляет ответы. Эту роль можно использовать при вызове startChat() с существующей history .

Выберите, хотите ли вы передать ответ в потоковом режиме ( sendMessageStream ) или дождаться ответа, пока не будет сгенерирован весь результат ( sendMessage ).

Потоковое вещание

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

В этом примере показано, как использовать sendMessageStream() для потоковой передачи ответов модели:

Без потоковой передачи

Альтернативно, вы можете дождаться всего результата вместо потоковой передачи; результат возвращается только после того, как модель завершит весь процесс генерации.

В этом примере показано, как использовать sendMessage() для отправки нового сообщения пользователя:

Узнайте, как выбрать модель Gemini и, при необходимости, местоположение , подходящее для вашего варианта использования и приложения.

Что еще можно сделать?

  • Узнайте, как подсчитывать токены, прежде чем отправлять модели длинные запросы.
  • Настройте Cloud Storage для Firebase , чтобы можно было включать большие файлы в мультимодальные запросы с помощью URL-адресов Cloud Storage. Файлы могут включать изображения, PDF-файлы, видео и аудио.
  • Начните думать о подготовке к работе, включая настройку Firebase App Check для защиты Gemini API от злоупотреблений со стороны неавторизованных клиентов.

Попробуйте другие возможности Gemini API

Узнайте, как контролировать создание контента

Вы также можете поэкспериментировать с подсказками и конфигурациями модели с помощью Vertex AI Studio .

Узнайте больше о моделях Gemini

Узнайте о моделях, доступных для различных вариантов использования , а также об их квотах и ​​ценах .


Оставьте отзыв о своем опыте использования Vertex AI для Firebase.