Quando crei con l'API Conversational Analytics, la gestione dello stato è un aspetto fondamentale dell'architettura. Gestisci lo stato della conversazione dell'API e, per le applicazioni che utilizzano l'Agent Development Kit (ADK), lo stato della sessione del framework.
Modalità di stato dell'API
Il metodo chat dell'API Conversational Analytics supporta parametri di contesto reciprocamente esclusivi che determinano la gestione degli stati della conversazione.
Utilizza la seguente tabella per confrontare queste modalità:
| Modalità | Stato | Cronologia conversazione | Agente | Parametro | Descrizione |
|---|---|---|---|---|---|
| Chattare con un riferimento alla conversazione | Stateful | Gestito dall'API | Sì | ConversationReference |
Continua una conversazione con stato facendo riferimento a una conversazione esistente e al relativo agente. Google Cloud Memorizza e gestisce la cronologia della conversazione. Invii solo il nuovo messaggio per ogni turno. |
| Chatta con un agente per i dati di riferimento | Stateless | Gestito dalla tua applicazione | Sì | DataAgentContext |
Invia un messaggio stateless che fa riferimento a un agente dati salvato per il contesto. La tua applicazione deve gestire e fornire la cronologia completa della conversazione con ogni richiesta. |
| Chat con contesto in linea | Stateless | Gestito dalla tua applicazione | No | InlineContext |
Invia un messaggio stateless che fornisce tutto il contesto direttamente nella richiesta. Questa modalità non utilizza un agente di dati salvati. La tua applicazione deve gestire e fornire la cronologia completa delle conversazioni. |
Stato della sessione ADK
Se utilizzi il framework ADK per l'orchestrazione, ADK fornisce un livello di gestione dello stato che opera indipendentemente dallo stato dell'API Conversational Analytics. Comprendere entrambi i livelli è essenziale per creare sistemi multi-agente che funzionino correttamente.
L'ADK utilizza convenzioni per i prefissi delle chiavi per controllare l'ambito e la durata delle variabili di stato. Utilizza la tabella seguente per valutare questi ambiti:
| Prefisso chiave | Ambito | Durata | Visibile a | Esempi |
|---|---|---|---|---|
| (nessun prefisso) | Sessione | Solo per la sessione corrente | Tutti gli agenti nella sessione | L'argomento della conversazione corrente o i risultati dell'ultima query |
user: |
Utente | In tutte le sessioni dello stesso utente | Tutti gli agenti e le sessioni per l'utente specificato | Preferenze utente, ID agenti di dati salvati o impostazioni della lingua |
app: |
Applicazione | In tutte le sessioni per tutti gli utenti | Tutti gli agenti e tutti gli utenti | Configurazione globale dell'applicazione, ID agenti dati condivisi o flag funzionalità |
temp: |
Chiamata | Solo l'invocazione corrente | L'agente corrente all'interno della chiamata attiva | Dati di risposta intermedi, come blocchi di streaming o calcoli in corso |
Per saperne di più sulla condivisione dello stato nei sistemi multi-agente, consulta la documentazione dell'ADK.
Come interagiscono lo stato dell'API e lo stato dell'ADK
Quando utilizzi l'API Conversational Analytics con il framework ADK, i livelli di stato funzionano in modo indipendente:
- Stato dell'API: se la tua applicazione utilizza riferimenti alla conversazione (modalità con stato), l'API gestisce la cronologia della conversazione. Se la tua applicazione utilizza il contesto dell'agente dati o il contesto incorporato (modalità stateless), l'API rimane stateless per ogni chiamata.
- Stato della sessione ADK: il framework ADK gestisce le proprie variabili di sessione, evento e stato indipendentemente dalla modalità utilizzata dall'API Conversational Analytics.
Ad esempio, quando utilizzi gli strumenti ask_data_insights o ask_data_agent all'interno dell'ADK, ogni chiamata è indipendente e senza stato a livello API, anche se l'ADK mantiene il contesto della sessione più ampio. La demo di streaming dell'ADK illustra il pattern consigliato per questa interazione: un sub-agente di dati scrive i dati della risposta analizzati nello stato temp:, che gli agenti downstream leggono nella stessa chiamata.
Passaggi successivi
- Confronta i pattern di integrazione architetturali per determinare l'approccio migliore per la tua applicazione.
- Scopri di più sull'architettura e sui concetti chiave dell'API Conversational Analytics.
- Scopri come eseguire l'autenticazione e connetterti a un'origine dati.
- Scopri come creare e configurare un agente con HTTP.
- Scopri come creare e configurare un agente con Python.
- Scopri di più su come guidare il comportamento di un agente con il contesto creato.
- Comprendi il controllo dell'accesso con IAM per l'API Conversational Analytics.
- Scopri come proteggere gli agenti e le conversazioni con CMEK.
- Scopri come visualizzare le risposte dell'agente per le origini dati di Looker.