Crea conversaciones de varios turnos (chat) con la API de Gemini


Con la API de Gemini, puedes crear conversaciones de formato libre en varios turnos. El SDK de Vertex AI para Firebase simplifica el proceso, ya que administra el estado de la conversación, por lo que, a diferencia de generateContentStream() o generateContent(), no tienes que almacenar el historial de conversaciones por tu cuenta.

Antes de comenzar

Si aún no lo has hecho, revisa la guía de introducción de los SDK de Vertex AI para Firebase. Asegúrate de haber realizado todo lo siguiente:

  • Configura un proyecto nuevo o existente de Firebase, lo que incluye usar el plan de precios Blaze y habilitar las APIs necesarias.

  • Conecta tu app a Firebase; esto incluye registrarla y agregarle la configuración de Firebase.

  • Agrega el SDK y, luego, inicializa el servicio de Vertex AI y el modelo generativo en tu app.

Después de conectar la app a Firebase, agregar el SDK y, luego, inicializar el servicio de Vertex AI y el modelo generativo, estarás listo para llamar a la API de Gemini.

Enviar una solicitud de mensaje de chat

Para crear una conversación de varios turnos (como el chat), primero inicializa el chat llamando a startChat(). Luego, usa sendMessageStream() (o sendMessage()) para enviar un mensaje de usuario nuevo, que también adjuntará el mensaje y la respuesta al historial de chat.

Hay dos opciones posibles para role asociado con el contenido en una conversación:

  • user: Es el rol que proporciona las indicaciones. Este valor es el predeterminado para las llamadas a sendMessageStream() (o sendMessage()), y la función arroja una excepción si se pasa una función diferente.

  • model: Es la función que proporciona las respuestas. Esta función se puede usar cuando se llama a startChat() con history existente.

Elige si deseas transmitir la respuesta (sendMessageStream) o esperar hasta que se genere todo el resultado (sendMessage).

de transmisión

Puedes lograr interacciones más rápidas si no esperas a que se complete el resultado de la generación del modelo y, en su lugar, usas la transmisión para controlar los resultados parciales.

En este ejemplo, se muestra cómo usar sendMessageStream() para transmitir respuestas desde el modelo:

Sin reproducción

De forma alternativa, puedes esperar el resultado completo en lugar de la transmisión; el resultado solo se muestra después de que el modelo completa todo el proceso de generación.

En este ejemplo, se muestra cómo usar sendMessage() para enviar un mensaje de usuario nuevo:

Obtén información sobre cómo elegir un modelo Gemini y, de forma opcional, una ubicación apropiada para tu caso de uso y app.

¿Qué más puedes hacer?

Prueba otras funciones de la API de Gemini

Aprende a controlar la generación de contenido

También puedes experimentar con instrucciones y configuraciones de modelos mediante Vertex AI Studio.

Más información sobre los modelos de Gemini

Obtén más información sobre los modelos disponibles para varios casos de uso y sus cuotas y precios.


Envía comentarios sobre tu experiencia con Vertex AI para Firebase