Cuando compilas con la API de Conversational Analytics, la administración del estado es una consideración arquitectónica clave. Administras el estado de la conversación de la API y, para las aplicaciones que usan el Kit de desarrollo de agentes (ADK), el estado de la sesión del framework.
Modos de estado de la API
El método chat en la API de Conversational Analytics admite parámetros de contexto mutuamente excluyentes que determinan cómo se controla el estado de la conversación.
Usa la siguiente tabla para comparar estos modos:
| Modo | Estado | Historial de conversación | Agente | Parámetro | Descripción |
|---|---|---|---|---|---|
| Chatea con una referencia de conversación | Con estado | Administrado por la API | Sí | ConversationReference |
Continúa una conversación con estado haciendo referencia a una conversación existente y a su agente asociado. Google Cloud almacena y administra el historial de conversaciones. Solo envías el mensaje nuevo en cada turno. |
| Chatea con una referencia de agente de datos | Sin estado | Administrado por tu aplicación | Sí | DataAgentContext |
Envía un mensaje sin estado que hace referencia a un agente de datos guardado para el contexto. Tu aplicación debe administrar y proporcionar el historial de conversación completo con cada solicitud. |
| Chatea con contexto intercalado | Sin estado | Administrado por tu aplicación | No | InlineContext |
Envía un mensaje sin estado que proporciona todo el contexto directamente en la solicitud. Este modo no usa un agente de datos guardados. Tu aplicación debe administrar y proporcionar el historial de conversaciones completo. |
Estado de la sesión del ADK
Si usas el framework del ADK para la orquestación, el ADK proporciona una capa de administración de estados que opera de forma independiente del estado de la API de Conversational Analytics. Comprender ambas capas es fundamental para crear sistemas multiagente que funcionen correctamente.
El ADK usa convenciones de prefijos de claves para controlar el alcance y la vida útil de las variables de estado. Usa la siguiente tabla para evaluar estos permisos:
| Prefijo de clave | Alcance | Duración | Visible para | Ejemplos |
|---|---|---|---|---|
| (sin prefijo) | Sesión | Solo la sesión actual | Todos los agentes de la sesión | Tema de conversación actual o resultados de la última búsqueda |
user: |
Usuario | En todas las sesiones del mismo usuario | Todos los agentes y las sesiones del usuario especificado | Preferencias del usuario, IDs de agentes de datos guardados o configuración de idioma |
app: |
Aplicación | En todas las sesiones de todos los usuarios | Todos los agentes y todos los usuarios | Configuración global de la aplicación, IDs de agentes de datos compartidos o marcas de funciones |
temp: |
Invocación | Solo la invocación actual | El agente actual dentro de la invocación activa | Datos de respuesta intermedios, como fragmentos de transmisión o cálculos en curso |
Para obtener más información sobre el uso compartido del estado en sistemas multiagente, consulta la documentación del ADK.
Cómo interactúan el estado de la API y el estado del ADK
Cuando usas la API de Conversational Analytics con el framework de ADK, las capas de estado funcionan de forma independiente:
- Estado de la API: Si tu aplicación usa referencias de conversación (modo con estado), la API administra el historial de conversaciones. Si tu aplicación usa contexto del agente de datos o contexto intercalado (modos sin estado), la API permanece sin estado para cada llamada.
- Estado de la sesión del ADK: El framework del ADK mantiene su propia sesión, eventos y variables de estado, independientemente del modo que use la API de Conversational Analytics.
Por ejemplo, cuando usas las herramientas ask_data_insights o ask_data_agent dentro del ADK, cada llamada es independiente y sin estado a nivel de API, aunque el ADK mantiene el contexto de sesión más amplio. La demostración de transmisión de ADK ilustra el patrón recomendado para esta interacción: un agente secundario de datos escribe datos de respuesta analizados en el estado temp:, que los agentes posteriores leen dentro de la misma invocación.
¿Qué sigue?
- Compara los patrones de integración de la arquitectura para determinar el mejor enfoque para tu aplicación.
- Obtén información sobre la arquitectura y los conceptos clave de la API de Conversational Analytics.
- Explora cómo autenticarte en una fuente de datos y conectarte a ella.
- Obtén más información para crear y configurar un agente con HTTP.
- Aprende a crear y configurar un agente con Python.
- Obtén más información para guiar el comportamiento de un agente con contexto creado.
- Comprende el control de acceso con IAM para la API de Conversational Analytics.
- Obtén más información para proteger tus agentes de datos y conversaciones con CMEK.
- Obtén más información para renderizar respuestas de agentes para fuentes de datos de Looker.