Responde preguntas basadas en conversaciones de chat con la app de chat de IA de Gemini

En este instructivo, se muestra cómo crear una app de Google Chat que responda basadas en conversaciones en los espacios de Chat con las funciones IA con tecnología de Vertex AI y Gemini. La app de Chat usa la API de Google Workspace Events y Pub/Sub para reconocer y responder preguntas publicadas en espacios de Chat en tiempo real, aun cuando sin mencionar.

La app de Chat usa todos los mensajes enviados en el espacio como una fuente de datos y una base de conocimiento: cuando alguien hace una pregunta, La app de Chat comprueba si hay respuestas compartidas anteriormente y, luego, comparte uno. Si no se encuentra una respuesta, dice que no se puede responder. En cada respuesta, los usuarios pueden hacer clic en el botón de acción de un accesorio para @mencionar a un administrador del espacio y preguntarle para obtener una respuesta. Con Gemini, la app de Google Chat se adapta y Aumenta su base de conocimiento a medida que se entrena continuamente con las conversaciones en los espacios. a la que se agrega.

Así es como funciona la app de Chat en la integración de un empleado y asistencia:

  • Mencionar que la app de asistente de conocimiento de IA la agrega a un espacio
    Figura 1: Carlos agrega la app de Chat del asistente de conocimiento de IA a un espacio de Chat.
  • Dana hace una pregunta.
    Figura 2: Dana pregunta si la empresa ofrece capacitación para hablar en público.
  • La app de Chat del asistente de conocimiento de IA responde la pregunta.
    Figura 3: La app de Chat del asistente de conocimiento de IA le indica a Vertex AI con Gemini que responda la pregunta de Dana en función del historial de conversaciones del espacio de Chat y, luego, comparte la respuesta.

Requisitos previos

Objetivos

  • Compila una app de Chat que use IA generativa para responder preguntas según el conocimiento compartido en el espacio de Chat las conversaciones virtuales.
  • Con la IA generativa:
    • Detecta y responde preguntas de los empleados.
    • Aprende continuamente de las conversaciones en curso en un chat espacio.
  • Escucha y responde mensajes en un espacio de Chat de forma real tiempo, incluso cuando la app de Chat no está enviado.
  • Conserva los mensajes escribiendo en una base de datos de Firestore y leyendo desde ella.
  • Menciona un espacio para facilitar la colaboración en un espacio de Chat de seguridad cuando no se encuentra una respuesta a una pregunta.

Arquitectura

En el siguiente diagrama, se muestra la arquitectura de Google Workspace y Recursos de Google Cloud que usa el asistente de conocimiento de IA App de Chat

Diagrama de arquitectura de la app de Chat del asistente de conocimiento de IA

La app de Chat del asistente de conocimiento de IA funciona de la siguiente manera:

  • Un usuario agrega la app de Chat del asistente de conocimiento de IA a un espacio de Chat:

    1. La app de Chat le solicitará usuario que la agregó al espacio de Chat para configurar autenticación y autorización.

    2. La app de Chat recupera los mensajes del espacio Mediante una llamada al método spaces.messages.list en la API de Chat Luego, almacena los mensajes recuperados en una base de datos de Firestore.

    3. La aplicación de Chat llama al subscriptions.create en la API de Google Workspace Events para iniciar escuchar eventos como mensajes en el espacio. El extremo de notificación de la suscripción es un tema de Pub/Sub que usa Eventarc para reenviar el evento a la app de Chat

    4. La app de Chat publica un mensaje de introducción para el espacio.

  • Un usuario en el espacio de Chat publica un mensaje:

    1. La app de Chat recibe el mensaje en tiempo real del tema de Pub/Sub.

    2. La app de Chat agrega el mensaje a Firestore en la base de datos.

      Si más adelante un usuario edita o borra el mensaje, La app de Chat recibe el evento actualizado o borrado en tiempo real y, luego, actualiza o borra el mensaje en Firestore en la base de datos.

    3. La app de Chat envía el mensaje a Vertex AI con Gemini:

      1. La instrucción le indica a Vertex AI con Gemini que verifique si el mensaje incluye una pregunta. Si es así, Gemini responde la pregunta en el historial de mensajes del espacio de Chat que se mantiene en Firestore y la app de Google Chat envía el mensaje al Espacio de Chat Si no es así, no respondas.

      2. Si Vertex AI con Gemini responde la pregunta, La app de Chat publica de respuesta llamando al método spaces.messages.create en Chat con autenticación de app.

        Si Vertex AI con Gemini no puede responder la pregunta, el La app de Chat publica un mensaje que dice que no encuentra una respuesta a esa pregunta en el historial del espacio de Chat.

        Los mensajes siempre incluyen un botón de acción de accesorio para que los usuarios puedan clic, lo que hará que la app de Chat @menciona a un administrador del espacio para pedirle que responda.

  • La app de Chat recibe una notificación de ciclo de vida de a la API de Google Workspace Events a la que se suscribe está a punto de caducar:

    1. La app de Chat envía una solicitud para renovar mediante una llamada al método subscriptions.patch en el API de Google Workspace Events.
  • La app de Chat se quita de una conversación espacio:

    1. La app de Chat borra la suscripción Mediante una llamada al método subscriptions.delete en API de Google Workspace Events.

    2. La app de Chat borra el entorno de Chat datos del espacio desde Firestore.

Revisa los productos que usa la app de Chat del asistente de conocimiento de IA

La app de Chat del asistente de conocimiento de IA usa los siguientes productos de Google Workspace y Google Cloud:

  • API de Vertex AI con Gemini: Una plataforma de IA generativa potenciada por Gemini. El asistente de conocimientos sobre IA app de Chat usa la API de Vertex AI con Gemini para reconocer, comprender y responder las preguntas de los empleados.
  • API de Chat: Una API para desarrollar apps de Google Chat que reciben y responden a Eventos de interacción de chat, como mensajes La IA La app de Chat del asistente de conocimiento usa la API de Chat para lo siguiente:
    • Recibe y responde eventos de interacción enviados por Chat.
    • Enumera los mensajes que se enviaron en un espacio.
    • Publica respuestas a las preguntas de los usuarios en un espacio.
    • Configura atributos que determinen cómo aparece en Chat, como el nombre y la imagen de avatar
  • API de Google Workspace Events: Esta API te permite suscribirte a eventos y administrar las notificaciones de cambios en las aplicaciones de Google Workspace. El La app de Chat del asistente de conocimiento de IA La API de Google Workspace Events para escuchar los mensajes publicados en un un espacio de Chat para que pueda detectar y responder preguntas incluso sin mencionar.
  • Firestore: Una base de datos de documentos sin servidores El asistente de conocimientos sobre IA La app de Chat usa Firestore para almacenar datos sobre los mensajes o en un espacio de Chat.
  • Pub/Sub: Pub/Sub es un servicio de mensajería escalable y asíncrono que separa servicios que producen mensajes de servicios que procesan esos mensajes. El La app de Chat del asistente de conocimiento de IA usa Pub/Sub para hacer lo siguiente: recibir eventos de suscripción de espacios de Chat.
  • Eventarc: Eventarc te permite crear arquitecturas controladas por eventos sin tener que implementar, personalizar o mantener la infraestructura subyacente. La IA La app de Chat de asistencia de conocimientos usa Eventarc para enrutar eventos de Pub/Sub a un espacio de Chat la Cloud Function que recibe y procesa los eventos de suscripción.
  • Cloud Functions: Un servicio de computación ligero y sin servidores que te permite crear Funciones independientes de un solo propósito que pueden responder a Chat eventos de interacción y suscripción sin tener que administrar un servidor o un entorno de ejecución en un entorno de nube. La app de Chat del asistente de conocimiento de IA usa dos Cloud Functions llamadas:
    • app: Aloja el extremo HTTP que envía Chat eventos de interacción hacia y como una plataforma de procesamiento para ejecutar lógica que procesa y responde a estos eventos.
    • eventsApp: Recibe y procesa el espacio de Chat como mensajes de una suscripción a Pub/Sub.
    Cloud Functions usa los siguientes productos de Google Cloud para compilar y alojar recursos de procesamiento:
    • Cloud Build: Una plataforma completamente administrada de integración, implementación y entrega continuas que ejecuta compilaciones automatizadas.
    • Cloud Run: Es un entorno completamente administrado para ejecutar apps alojadas en contenedores.

Prepare el entorno

En esta sección, se muestra cómo crear y configurar un proyecto de Google Cloud para la App de Chat

Crea un proyecto de Google Cloud

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > IAM y Administrador > Crear un proyecto.

    Ir a Crear un proyecto

  2. En el campo Nombre del proyecto, ingresa un nombre descriptivo para tu proyecto.

    Opcional: Para editar el ID del proyecto, haz clic en Editar. No se puede cambiar el ID del proyecto una vez creado el proyecto, así que elige un ID que se adapte a tus necesidades durante el ciclo de vida del en un proyecto final.

  3. En el campo Ubicación, haz clic en Explorar para mostrar las posibles ubicaciones de tu en un proyecto final. Luego, haga clic en Seleccionar.
  4. Haz clic en Crear. La consola de Google Cloud navega a la página Panel y se crea tu proyecto en unos minutos.

gcloud CLI

En uno de los siguientes entornos de desarrollo, accede a la API de CLI (`gcloud`):

  • Cloud Shell: Para usar una terminal en línea con gcloud CLI ya configurado, activa Cloud Shell.
    Activar Cloud Shell
  • Local Shell: Para usar un entorno de desarrollo local, instalar y inicializar con gcloud CLI.
    Para crear un proyecto de Cloud, usa el comando “gcloud projects create”:
    gcloud projects create PROJECT_ID
    Reemplaza PROJECT_ID mediante la configuración del ID del proyecto que deseas crear.

Habilita la facturación para el proyecto de Cloud

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Facturación. Haz clic en Menú > Facturación > Mis proyectos.

    Ir a Facturación para Mis proyectos

  2. En Selecciona una organización, elige la organización asociada con tu proyecto de Google Cloud.
  3. En la fila del proyecto, abre el menú Acciones. (), haz clic en Cambiar facturación y elige Cuenta de Facturación de Cloud.
  4. Haz clic en Establecer cuenta.

gcloud CLI

  1. Para enumerar las cuentas de facturación disponibles, ejecuta el siguiente comando:
    gcloud billing accounts list
  2. Vincula una cuenta de facturación con un proyecto de Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Reemplaza lo siguiente:

    • PROJECT_ID es el ID del proyecto de la Proyecto de Cloud para el que quieres habilitar la facturación.
    • BILLING_ACCOUNT_ID es el ID de la cuenta de facturación que se vinculará el proyecto de Google Cloud.

Habilitación de las API

Consola de Google Cloud

  1. En la consola de Google Cloud, habilita la API de Google Chat, la API de Vertex AI, la API de Cloud Functions, la API de Firestore, la API de Cloud Build, la API de Pub/Sub, la API de Google Workspace Events y la API de Eventarc y la API de Cloud Run Admin.

    Habilitar las API

  2. Confirma que estás habilitando las APIs en la ubicación correcta de Google Cloud y haz clic en Siguiente.

  3. Confirma que estás habilitando las APIs correctas y, luego, haz clic en Habilitar.

gcloud CLI

  1. Si es necesario, configura el proyecto de Cloud actual con el proyecto que fecha de creación:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto de de Google Cloud que creaste.

  2. Habilitar la API de Google Chat, la API de Vertex AI, la API de Cloud Functions, la API de Firestore, la API de Cloud Build, la API de Pub/Sub, la API de Google Workspace Events, la API de Eventarc y la API de Cloud Run API:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    workspaceevents.googleapis.com \
    eventarc.googleapis.com \
    run.googleapis.com
    

Configura la autenticación y la autorización

La autenticación y la autorización permiten Los recursos de acceso a las apps de Chat en Google Workspace y en Google Cloud.

En este instructivo, publicarás la app de Google Chat internamente para que sea Usa la información del marcador de posición. Antes de publicar el App de Google Chat externamente, reemplaza la información del marcador de posición por información real para la pantalla de consentimiento.

  1. En la consola de Google Cloud, ve a Menú > APIs y Servicios > Pantalla de consentimiento de OAuth.

    Ir a la pantalla de consentimiento de OAuth

  2. En Tipo de usuario, selecciona Interno y, luego, haz clic en Crear.

  3. En Nombre de la app, escribe AI knowledge assistant.

  4. En Correo electrónico de asistencia del usuario, selecciona tu dirección de correo electrónico o una Grupo de Google

  5. En Información de contacto del desarrollador, ingresa tu dirección de correo electrónico.

  6. Haga clic en Guardar y continuar.

  7. Haz clic en Add or Remove Scopes. Aparecerá un panel con una lista de alcances para cada API que hayas habilitado en tu proyecto de Cloud.

  8. En Agregar permisos de forma manual, pega el siguiente alcance:

    • https://www.googleapis.com/auth/chat.messages
  9. Haz clic en Add to Table.

  10. Haz clic en Actualizar.

  11. Haga clic en Guardar y continuar.

  12. Revisa el resumen del registro de apps y, luego, haz clic en Volver al panel.

Crea credenciales de ID de cliente de OAuth

  1. En la consola de Google Cloud, ve a Menú > APIs y Servicios > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales. > ID de cliente de OAuth.

  3. Haz clic en Tipo de aplicación. > Aplicación web.

  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo es que se muestran en la consola de Google Cloud.

  5. En URI de redireccionamiento autorizados, haz clic en Agregar URI.

  6. En URIs 1, escribe lo siguiente:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    Reemplaza lo siguiente:

    • REGION: Es la región de la Cloud Function, como us-central1. Más adelante, cuando crees las dos Cloud Functions, debes establecer sus región con este valor.
    • PROJECT_ID: El ID del proyecto de Cloud. que creaste.
  7. Haz clic en Crear.

  8. En la ventana Se creó el cliente de OAuth, haz clic en Descargar JSON.

  9. Guarda el archivo descargado como client_secrets.json. Más adelante, cuando crees las dos Cloud Functions, debes incluir el archivo client_secrets.json en cada de Google Workspace.

  10. Haz clic en Aceptar.

Cree el tema de Pub/Sub

El tema de Pub/Sub funciona con API de Google Workspace Events para suscribirse a eventos en Chat como mensajes y notificar a la app de Chat tiempo.

A continuación, te mostramos cómo crear el tema de Pub/Sub:

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > Pub/Sub.

    Ir a Pub/Sub

  2. Haz clic en Crear tema.

  3. En ID del tema, escribe events-api.

  4. Anula la selección de Agregar una suscripción predeterminada.

  5. En Encriptación, selecciona Clave de encriptación administrada por Google.

  6. Haz clic en Crear. Aparecerá el tema de Pub/Sub.

  7. Para que funcionen este tema de Pub/Sub y la API de Google Workspace Events otorgar al usuario de IAM de Chat permiso para publicar el tema de Pub/Sub:

    1. En el panel events-api, en PERMISOS, haz clic en Agregar principal.

    2. En Agregar principales, en Principales nuevas, escribe chat-api-push@system.gserviceaccount.com

    3. En Asignar roles, en Selecciona un rol, selecciona Pub/Sub. > Publicador de Pub/Sub.

    4. Haz clic en Guardar.

gcloud CLI

  1. Crea un tema de Pub/Sub con el ID del tema events-api:

    gcloud pubsub topics create events-api
    
  2. Otorga permiso al usuario de IAM de Chat para publicar en el tema de Pub/Sub:

    gcloud pubsub topics add-iam-policy-binding events-api \
    --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \
    --role='roles/pubsub.publisher'
    

Crea la base de datos de Firestore

La base de datos de Firestore se conserva y recupera de los espacios de Chat, como los mensajes. No defines los datos que se establece de forma implícita en el código de muestra mediante model/message.js y services/firestore-service.js archivos.

La base de datos de la app de Chat del asistente de conocimiento de IA usa un de datos NoSQL basado en documentos se organizan en colecciones. Para obtener más información, consulta Modelo de datos de Firestore.

El siguiente diagrama es una descripción general del asistente de conocimiento de IA Modelo de datos de la app de Chat:

Modelo de datos de la base de datos de Firestore.

La raíz contiene dos colecciones:

  1. spaces, en el que cada documento representa un espacio de Chat que la app de Chat. Cada mensaje se representa representado por un documento de la subcolección messages.

  2. users, en el que cada documento representa a un usuario que agregó el de Chat a un espacio de Chat.

Visualiza definiciones de colecciones, documentos y campos

spaces

Un espacio de Chat que incluya la app de Chat del asistente de conocimiento de IA.

Campos
Document IDString
ID único de un espacio específico. Una parte del nombre del recurso del espacio en la API de Chat
messagesSubcollection of Documents (messages)
Mensajes enviados en el espacio de Chat Corresponde al Document ID de un message en Firebase.
spaceNameString
El nombre único del espacio en la API de Chat. Corresponde al nombre del recurso del espacio en la API de Chat.

messages

Mensajes enviados en el espacio de Chat

Campos
Document IDString
El ID único de un mensaje específico.
nameString
Es el nombre único de un mensaje en la API de Chat. Corresponde al nombre del recurso del mensaje en la API de Chat.
textString
El cuerpo del texto del mensaje.
timeString (Timestamp format)
La hora a la que se creó el mensaje.

users

Usuarios que agregaron la app de Chat del asistente de conocimiento de IA a un espacio de Chat.

Campos
Document IDString
Es el ID único de un usuario específico.
accessTokenString
El token de acceso otorgado durante la autorización del usuario de OAuth 2.0 que se usa para llamar a las APIs de Google Workspace.
refreshTokenString
El token de actualización otorgado durante la autorización del usuario de OAuth 2.0.

Aquí te mostramos cómo crear la base de datos de Firestore:

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > Firestore.

    Ir a Firestore

  2. Haz clic en Crear base de datos.

  3. En Selecciona tu modo de Firestore, haz clic en Modo nativo.

  4. Haz clic en Continuar.

  5. Configura la base de datos:

    1. En Asigna un nombre a tu base de datos, deja el ID de base de datos como (default).

    2. En Tipo de ubicación, selecciona Región.

    3. En Región, especifica una región para la base de datos, como us-central1 Para obtener el mejor rendimiento, selecciona el mismo lugar o cerca ubicación que las funciones de Cloud Functions de la app de Chat.

  6. Haz clic en Crear base de datos.

gcloud CLI

  • Crea una base de datos de Firestore en modo nativo:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native
    

    Reemplaza LOCATION por el nombre de un Firestore región, como como us-central1. Para obtener el mejor rendimiento, selecciona el mismo lugar o cerca ubicación que las funciones de Cloud Functions de la app de Chat.

Crea e implementa la app de Chat

Ahora que creaste y configuraste tu proyecto de Google Cloud, podrás crear y, luego, implementarás la app de Chat. En esta sección, realizarás las lo siguiente:

  1. Crear e implementar dos Cloud Functions Alguien para responder al chat de interacción y uno para responder a los eventos de Pub/Sub.
  2. Crea e implementa una app de Chat en la API de Google Chat página de configuración.

Crea e implementa las funciones de Cloud Functions

En esta sección, crearás y, luego, implementarás dos Cloud Functions llamadas:

  • app: Aloja y ejecuta la app de Chat. código que responde a los eventos recibidos de Chat como HTTP solicitudes.
  • eventsApp: Recibe y procesa el espacio de Chat. eventos, como mensajes de Pub/Sub.

En conjunto, estas funciones de Cloud Functions conforman el asistente de conocimiento de IA Lógica de la aplicación de la app de Chat

Opcionalmente, antes de crear las Cloud Functions, tómate un momento para revisar y Familiarízate con el código de muestra alojado en GitHub.

Ver en GitHub

Crea e implementa app

Consola de Google Cloud

  1. Descarga el código de GitHub como un archivo ZIP.

    Descargar el archivo ZIP

  2. Extraiga el archivo ZIP que se descargó.

    La carpeta extraída contiene todas las muestras de Google Workspace completas. en un repositorio de confianza.

  3. En la carpeta extraída, navega hasta google-chat-samples-main/node/ai-knowledge-assistant.

  4. En el directorio google-chat-samples/node/ai-knowledge-assistant, agrega el archivo client_secrets.json que descargaste cuando creaste credenciales de ID de cliente de OAuth para la autenticación y autorización.

  5. Comprime el contenido de la carpeta ai-knowledge-assistant en un archivo ZIP .

    El directorio raíz del archivo ZIP debe contener lo siguiente: archivos y carpetas:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • client_secrets.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. En la consola de Google Cloud, ve a Menú > Cloud Functions.

    Ir a Cloud Functions

    Asegúrate de que el proyecto de Google Cloud de tu La app de Chat está seleccionada.

  7. Haz clic en Crear función.

  8. En la página Crear función, configura tu función:

    1. En Entorno, selecciona 2nd gen.
    2. En Nombre de la función, escribe app.
    3. En Región, selecciona una región, como us-central1. Esta región debe coincidir con la región que establezcas en el URI de redireccionamiento autorizado cuando tú credenciales de ID de cliente de OAuth para la autenticación y autorización.
    4. En Tipo de activador, selecciona HTTPS.
    5. En Autenticación, selecciona Permite invocaciones no autenticadas.
    6. Haz clic en Siguiente.
  9. En Entorno de ejecución, selecciona Node.js 20.

  10. En Punto de entrada, borra el texto predeterminado y, luego, ingresa app

  11. En Código fuente, selecciona Carga ZIP.

  12. En Bucket de destino, haz lo siguiente: crear o selecciona un bucket:

    1. Haz clic en Explorar.
    2. Elige un bucket.
    3. Haz clic en Seleccionar.

    Google Cloud sube el archivo ZIP y extrae los archivos componentes en este bucket. Cloud Functions luego copia los archivos componentes la Cloud Function.

  13. En Archivo ZIP, sube el archivo ZIP que descargaste de GitHub. se extraen y se vuelven a comprimir:

    1. Haz clic en Explorar.
    2. Navega hasta el archivo ZIP y selecciónalo.
    3. Haz clic en Abrir.
  14. Haz clic en Implementar.

    Se abrirá la página Detalle de Cloud Functions, y aparecerá tu función. con dos indicadores de progreso: uno para la compilación y otro para el servicio. Cuando ambos indicadores de progreso desaparecen y se reemplazan por una marca de verificación significa que tu función está implementada y lista.

  15. Edita el código de muestra para establecer constantes:

    1. En la página de detalles de la Cloud Function, haz clic en Editar.
    2. Haz clic en Siguiente.
    3. En Código fuente, selecciona Editor intercalado.
    4. En el editor directo, abre y edita el archivo env.js:
      1. Establece el valor de project en ID del proyecto de la nube.
      2. Configura el valor de location como el de la Cloud Function región, como us-central1.
  16. Haz clic en Implementar.

gcloud CLI

  1. Clona el código desde GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Cambia al directorio que contiene el código de este conocimiento sobre IA App de Chat del Asistente:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. En el directorio google-chat-samples/node/ai-knowledge-assistant, agrega el archivo client_secrets.json que descargaste cuando creaste credenciales de ID de cliente de OAuth para la autenticación y autorización.

  4. Edita el archivo env.js para establecer variables de entorno:

    1. Configura el valor de project para tu proyecto de Cloud ID.
    2. Configura el valor de location como el de la Cloud Function region, como us-central1
  5. Implementa la Cloud Function en Google Cloud:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated
    

    Reemplaza REGION por el valor de la función de Cloud Functions. región para que coincida con el establecido en el archivo env.js, como us-central1.

Crea e implementa eventsApp

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > Cloud Functions.

    Ir a Cloud Functions

    Asegúrate de que el proyecto de Google Cloud de tu La app de Chat está seleccionada.

  2. Haz clic en Crear función.

  3. En la página Crear función, configura tu función:

    1. En Entorno, selecciona 2nd gen.
    2. En Nombre de la función, escribe eventsApp.
    3. En Región, selecciona una región, como us-central1. Esta región debe coincidir con la región que establezcas en el URI de redireccionamiento autorizado cuando tú credenciales de ID de cliente de OAuth para la autenticación y autorización.
    4. En Tipo de activador, selecciona Cloud Pub/Sub.
    5. En Tema de Cloud Pub/Sub, selecciona el nombre del tema de Pub/Sub que creado, que tiene el formato projects/PROJECT/topics/events-api, donde PROJECT es el ID del proyecto de Cloud.
    6. Si ves un mensaje que comienza a Service account(s) might not have enough permissions to deploy the function with the selected trigger., haz clic en Otorgar todo.
    7. Haz clic en Siguiente.
  4. En Entorno de ejecución, selecciona Node.js 20.

  5. En Punto de entrada, borra el texto predeterminado y, luego, ingresa eventsApp

  6. En Código fuente, selecciona Zip from Cloud Storage.

  7. En la ubicación de Cloud Storage, haz clic en Explorar.

  8. Selecciona el bucket al que subiste el archivo ZIP cuando creaste el archivo app de Cloud Function.

  9. Haz clic en el archivo ZIP que subiste.

  10. Haz clic en Seleccionar.

  11. Haz clic en Implementar.

    Se abrirá la página Detalle de Cloud Functions, y aparecerá tu función. con tres indicadores de progreso: uno para la compilación, otro para el servicio y otro para el activador. Cuando desaparecen los tres indicadores de progreso y se reemplazan por una marca de verificación, significa que tu función está implementada y lista.

  12. Edita el código de muestra para establecer constantes:

    1. En la página de detalles de la Cloud Function, haz clic en Editar.
    2. Haz clic en Siguiente.
    3. En Código fuente, selecciona Editor intercalado.
    4. En el editor directo, abre y edita el archivo env.js:
      1. Establece el valor de project en ID del proyecto de la nube.
      2. Configura el valor de location como el de la Cloud Function región, como us-central1.
  13. Haz clic en Implementar.

gcloud CLI

  1. En gcloud CLI, si aún no estás allí, cambia al directorio que contiene el código de este conocimiento sobre la IA de Chat que ya usaste clonado desde GitHub:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. En el directorio google-chat-samples/node/ai-knowledge-assistant, agrega el archivo client_secrets.json que descargaste cuando creaste credenciales de ID de cliente de OAuth para la autenticación y autorización.

  3. Edita el archivo env.js para establecer variables de entorno:

    1. Configura el valor de project para tu proyecto de Cloud ID.
    2. Configura el valor de location como el de la Cloud Function region, como us-central1
  4. Implementa la Cloud Function en Google Cloud:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api
    

    Reemplaza REGION por el valor de la función de Cloud Functions. región para que coincida con el establecido en el archivo env.js, como us-central1.

Copiar la URL del activador de Cloud Functions app

Pega la URL del activador de Cloud Functions app en la siguiente sección cuando Configura la app de Chat en la consola de Google Cloud.

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > Cloud Functions.

    Ir a Cloud Functions

  2. En la columna Nombre de la lista de Cloud Functions, haz clic en app

  3. Haz clic en Activar.

  4. Copia la URL.

gcloud CLI

  1. Describe la Cloud Function app:

    gcloud functions describe app
    
  2. Copia la propiedad url.

Configura la app de Chat en la consola de Google Cloud

En esta sección, se muestra cómo configurar la API de Chat en el La consola de Google Cloud con información sobre tu app de Chat incluido el nombre de la app de Chat y la URL activadora de la API de Cloud Función a la que envía eventos de interacción de Chat.

  1. En la consola de Google Cloud, haz clic en Menú. > Más productos > Google Workspace > Biblioteca de productos > API de Google Chat > Administrar > Configuración.

    Ir a la configuración de la API de Chat

  2. En Nombre de la app, escribe AI knowledge assistant.

  3. En URL del avatar, escribe https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg.

  4. En Description, escribe Answers questions with AI.

  5. Haz clic en el botón de activación Enable Interactive features.

  6. En Funcionalidad, selecciona Unirse a espacios y conversaciones grupales.

  7. En Configuración de la conexión, selecciona URL de la aplicación.

  8. En URL de la app, pega la URL del activador de la Cloud Function app. formateado como https://REGION-PROJECT_ID.cloudfunctions.net/app donde REGION es la región de la Cloud Function, como us-central1 y PROJECT_ID es el ID del proyecto de la de Google Cloud que creaste.

  9. En Visibilidad (Visibility), selecciona Haz que esta app de Chat esté disponible para personas y grupos específicos de tus Dominio de Workspace y, luego, ingresa tu dirección de correo electrónico.

  10. De manera opcional, en Registros, selecciona Registrar errores en Logging.

  11. Haz clic en Guardar. Aparecerá un mensaje de configuración guardada, lo que significa que La aplicación de Chat es listo para la prueba.

Prueba la app de Chat

Probar la app de Chat del asistente de conocimiento de IA en un Un espacio de Chat con mensajes haciendo preguntas que la IA la app de Chat del asistente de conocimiento puede responder.

Estas son algunas formas de probar el asistente de conocimiento de la IA App de Chat:

  • Agrega la app de Chat del asistente de conocimiento de IA a un un espacio de Chat existente y haz preguntas ese espacio.
  • Crea un espacio de Chat y publica algunos mensajes para usarlos como una fuente de datos. Los mensajes se pueden obtener de Gemini con una instrucción como Answer 20 common onboarding questions employees ask their teams. O puedes pegar algunos párrafos del Guía de descripción general para desarrollar con Chat y, luego, hacer preguntas al respecto.

Para este instructivo, creemos un espacio de Chat y peguemos algunos párrafos desde el Descripción general del desarrollo con Chat.

  1. Abre Google Chat.

    Ir a Google Chat

  2. Sigue estos pasos para crear un espacio de Chat:

    1. Haz clic en New Chat. > Crear un espacio.

    2. En Nombre del espacio, escribe Testing AI knowledge assistant app.

    3. En ¿Para qué sirve este espacio?, selecciona Colaboración.

    4. En Configuración de acceso, elige quién puede acceder al espacio.

    5. Haz clic en Crear.

  3. Agrega mensajes para usarlos como fuente de datos:

    1. En un navegador web, visita la Descripción general del desarrollo con Chat .

    2. Copia y pega el contenido de la guía en el espacio de Chat. que creaste.

  4. Agrega la app de Chat del asistente de conocimiento de IA:

    1. En la barra para redactar mensajes, escribe @AI knowledge assistant y, en de sugerencias que aparece, selecciona el asistente Chat, presiona enter.

    2. Aparecerá un mensaje en el que se te preguntará si quieres agregar el asistente de conocimiento de IA App de Chat al espacio. Haz clic en Agregar al espacio.

    3. Si es la primera vez que agregas la app de Chat a un espacio, debes configurar la autenticación y la autorización App de Chat:

      1. Haz clic en Configurar.
      2. Se abrirá una nueva ventana o pestaña del navegador para que elijas una Cuenta de Google. Elige la cuenta con la que realizas la prueba.
      3. Revisar los permisos que el asistente de conocimientos de IA Solicitudes de la app de Chat. Para otorgarlos, haz clic en Permitir.
      4. Aparecerá un mensaje que dice You may close this page now.. Cierra la ventana o pestaña del navegador y regresa a Espacio de Chat
  5. Realiza una pregunta:

    1. En la barra para redactar mensajes, escribe una pregunta como What are Google Chat apps?

    2. La app de Chat del asistente de conocimiento de IA responde.

    3. Opcionalmente, si la respuesta no es precisa o suficiente, para ayudar a la IA mejorar el historial de conversaciones, haz clic Obtén ayuda. La app de Chat del asistente de conocimiento de IA menciona a un administrador del espacio y le pides que responda la pregunta. La próxima vez, el La app de Chat del asistente de conocimiento de IA sabrá lo que la respuesta.

Consideraciones, opciones de arquitectura alternativa y próximos pasos

En esta sección, se revisan otras formas en las que el asistente de conocimiento de IA Chat.

Firestore, Cloud Storage o la llamada a List Messages en la API de Chat

En este instructivo, se recomienda almacenar datos del espacio de Chat, como mensajes en una base de datos de Firestore porque mejora el rendimiento en comparación con la llamada al método list en Message recurso con la API de Chat cada vez que La app de Chat responde una pregunta. Además, las llamadas list messages de manera repetida puede causar la La app de Chat alcanzó los límites de cuota de la API.

Sin embargo, si el historial de conversaciones de un espacio de Chat se demasiado tiempo, usar Firestore puede resultar costoso.

Cloud Storage es una alternativa a Firestore. En cada espacio en el que el asistente La app de Chat está activa recibe su propio objeto, y cada uno es un archivo de texto que contiene todos los mensajes del espacio. La ventaja de Con este enfoque, el contenido completo del archivo de texto se puede enviar a Vertex IA con Gemini al mismo tiempo, pero el inconveniente es que se necesita más trabajo para actualizar el historial de conversaciones porque no se puede agregar a un objeto en Cloud Almacenamiento, solo debes reemplazarlo. Este enfoque no tiene sentido si usas con frecuencia el historial de mensajes, pero sería una buena opción el historial de mensajes de forma periódica, por ejemplo, una vez por semana.

Solucionar problemas

Cuando una app de Google Chat o card muestra un error, el En la interfaz de Chat, aparece un mensaje que dice “Se produjo un error”. o "No se pudo procesar la solicitud". A veces, la IU de Chat no muestra ningún mensaje de error, pero la app de Chat la tarjeta produce un resultado inesperado; Por ejemplo, es posible que un mensaje de tarjeta no para que aparezca la opción.

Aunque es posible que no aparezca un mensaje de error en la IU de Chat, Hay mensajes de error descriptivos y datos de registro disponibles para ayudarte a corregir errores. Cuando se activa el registro de errores de las apps de Chat. Para obtener ayuda sobre la visualización, la depuración y la corrección de errores, consulta Soluciona problemas y corrige errores de Google Chat.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por el recursos usados en este instructivo, te recomendamos que borres el Cloud.

  1. En la consola de Google Cloud, ve a la página Administrar recursos. Haz clic en Menú > IAM y Administrador > Administrar recursos.

    Ir a Resource Manager

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borra .
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo. el proyecto.