Passa al contenuto principale

Annuncio dell'anteprima pubblica delle API di conversazione AI/BI Genie

Ottieni insight dai tuoi dati utilizzando il linguaggio naturale all'interno di qualsiasi strumento di collaborazione

AI Agents: Build

Pubblicato: 11 marzo 2025

Annunci8 min di lettura

Summary

  • AI/BI Genie ti consente di parlare con i tuoi dati per esplorare qualsiasi domanda utilizzando il linguaggio naturale
  • Integra AI/BI Genie in Databricks Apps, Slack, Teams, Sharepoint, applicazioni personalizzate e altro ancora
  • Metti in pratica le API di conversazione di Genie con un esempio passo-passo

Nell'ambito della nostra iniziativa Week of AI agents, introduciamo nuove funzionalità per aiutare le aziende a creare e governare agenti AI di alta qualità. A tal fine, siamo entusiasti di annunciare l'anteprima pubblica delle API di conversazione Genie, disponibili su AWS, Azure e GCP. Con questa suite di API, i tuoi utenti possono ora sfruttare AI/BI Genie per ottenere autonomamente insight sui dati utilizzando il linguaggio naturale da qualsiasi interfaccia, incluse le Databricks Apps, Slack, Teams, Sharepoint, applicazioni personalizzate e altro ancora. Inoltre, le API di conversazione ti consentono di incorporare AI/BI Genie in qualsiasi agente AI, con o senza Agent Framework.

Utilizzando la suite di API di conversazione Genie, puoi inviare programmaticamente prompt in linguaggio naturale e ricevere insight sui dati, proprio come faresti nell'interfaccia utente di Genie. L'API è stateful, consentendo a Genie di mantenere il contesto mentre poni domande di follow-up all'interno di un thread di conversazione.

In questo blog, esamineremo gli endpoint chiave disponibili nell'anteprima pubblica, esploreremo l'integrazione di Genie con Mosaic AI Agent Framework ed evidenzieremo un esempio di incorporamento di Genie in un canale Microsoft Teams.

API di conversazione Genie in pratica

Esaminiamo un esempio pratico per capire come funzionano le API di conversazione Genie. La prima cosa da notare è che le API di conversazione devono interagire con uno spazio Genie già creato. Ti consigliamo di iniziare con la documentazione del prodotto per configurare il tuo spazio Genie e quindi seguire queste best practice per configurarlo in modo ottimale.

Immagina di aver già creato, configurato e condiviso uno spazio Genie progettato per rispondere a domande sui tuoi dati di marketing. Ora, vuoi che il tuo team di marketing utilizzi questo spazio per porre domande ed esplorare insight, ma invece di accedervi tramite l'interfaccia utente di Genie, vuoi che lo faccia da un'applicazione esterna.

Per iniziare, supponiamo che tu voglia che il tuo team di marketing ponga una domanda semplice: "Quali clienti abbiamo contattato via email ieri?". Per porre questa domanda utilizzando le API di conversazione Genie, dovremo inviare una richiesta POST all'endpoint seguente:

/api/2.0/genie/spaces/{space_id}/start-conversation

Questo endpoint avvia un nuovo thread di conversazione, utilizzando la tua domanda come prompt iniziale, proprio come nell'interfaccia utente dello spazio Genie. Nota che la richiesta deve includere il tuo componente host, l'ID dello spazio Genie e un token di accesso per l'autenticazione. Puoi trovare lo space_id nell'URL dello spazio Genie, come mostrato di seguito:

https://example.databricks.com/genie/rooms/12ab345cd6789000ef6a2fb844ba2d31

Di seguito è riportato un esempio della richiesta POST corretta richiesta:

POST /api/2.0/genie/spaces/{space_id}/start-conversation
HOST= <WORKSPACE_INSTANCE_NAME>
Authorization: <your_authentication_token>
{
    "content": "Which customers did we reach out to via email yesterday?",
}

Se l'istruzione viene inviata correttamente, l'API restituirà la conversazione creata e il messaggio in risposta alla richiesta POST, come mostrato nel seguente esempio:

{
  “conversation_id": "6a64adad2e664ee58de08488f986af3e",
  "conversation": {
    "created_timestamp": 1719769718,
    "conversation_id": "6a64adad2e664ee58de08488f986af3e",
    "last_updated_timestamp": 1719769718,
    "space_id": "3c409c00b54a44c79f79da06b82460e2",
    "title": "Which customers did we reach out to via email yesterday?",
    "user_id": 12345
  },
   “message_id": "e1ef34712a29169db030324fd0e1df5f",
  "message": {
    "attachments": null,
    "content": "Which customers did we reach out to via email yesterday?",
    "conversation_id": "6a64adad2e664ee58de08488f986af3e",
    "created_timestamp": 1719769718,
    "error": null,
    "message_id": "e1ef34712a29169db030324fd0e1df5f",
    "last_updated_timestamp": 1719769718,
    "query_result": null,
    "space_id": "3c409c00b54a44c79f79da06b82460e2",
    "status": "IN_PROGRESS",
    "user_id": 12345
  }
}

Utilizzando conversation_id e message_id, puoi ora interrogare per verificare lo stato di generazione del messaggio e recuperare l'istruzione SQL generata e la descrizione della query come segue:

GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}
HOST= <WORKSPACE_INSTANCE_NAME>
Authorization: Bearer <your_authentication_token>

Di seguito è riportato un esempio della risposta:

{
  "attachments": [{
    "query": {
      "description": "Descrizione della query in formato leggibile dall'uomo",
      "last_updated_timestamp": 1719769718,
      "query": "SELECT * FROM customers WHERE date >= CURRENT_DATE() - INTERVAL 1 DAY",
      "title": "Titolo della query",
      "statement_id": "9d8836fc1bdb4729a27fcc07614b52c4",
      "query_result_metadata": {
        "row_count": 10
      },
    }
    'attachment_id': '01efddddeb2510b6a4c125d77ce176be'
  }],
  "content": "Which customers did we reach out to via email yesterday?",
  "conversation_id": "6a64adad2e664ee58de08488f986af3e",
  "created_timestamp": 1719769718,
  "error": null,
  "message_id": "e1ef34712a29169db030324fd0e1df5f",
  "last_updated_timestamp": 1719769718,
  "space_id": "3c409c00b54a44c79f79da06b82460e2",
  "status": "EXECUTING_QUERY",
  "user_id": 12345
}

 

Una volta che il campo dello stato del messaggio mostra "COMPLETED", significa che l'istruzione SQL generata ha terminato l'esecuzione e i risultati della query sono pronti per essere recuperati. Ora puoi ottenere la risposta come segue:

GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/query-result
HOST= <WORKSPACE_INSTANCE_NAME>
Authorization: Bearer <your_authentication_token>

Naturalmente, puoi anche inviare prompt di follow-up per i tuoi thread di conversazione. Ad esempio, supponiamo che il team di marketing voglia porre la seguente domanda successiva: "Quali di questi clienti hanno aperto e inoltrato l'email?"

Per gestire questo, invierai un'altra richiesta POST con il nuovo prompt allo stesso thread di conversazione come segue:

POST /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages
HOST= <WORKSPACE_INSTANCE_NAME>
Authorization: <your_authentication_token> 
{
    "content": "Which of these customers opened and forwarded the email?",
}

Se desideri aggiornare i dati dei prompt precedenti, l'API ti consente anche di rieseguire le query SQL generate in precedenza. Per maggiori dettagli sugli endpoint dell'API, consulta la documentazione del prodotto.

Best practice per le API di conversazione

Per garantire le migliori prestazioni, consigliamo le seguenti best practice per le API:

  • Interroga l'API ogni 5-10 secondi finché non viene ricevuto uno stato del messaggio conclusivo, ma limita l'interrogazione a un massimo di 10 minuti per la maggior parte delle query tipiche
  • Se non ricevi risposta entro 2 minuti, implementa un backoff esponenziale per migliorare l'affidabilità
  • Assicurati di creare nuove conversazioni per ogni sessione utente; riutilizzare la stessa conversazione per più sessioni può influire negativamente sull'accuratezza di Genie.

Integrazione di Genie nel Mosaic AI Agent Framework

Le API di conversazione si integrano perfettamente anche nel tuo Mosaic AI Agent Framework con il wrapper databricks_langchain.genie.

Supponiamo che i miei responsabili marketing debbano rispondere a domande su tre argomenti:

  • Coinvolgimento degli eventi promozionali (dati strutturati archiviati in una vista di Unity Catalog)
  • Annunci via email (dati strutturati archiviati in una tabella di Unity Catalog)
  • Recensioni testuali degli utenti (PDF non strutturati archiviati nei volumi di Unity Catalog)

Puoi creare un framework multi-agente per rispondere a domande su dati sia strutturati che non strutturati. Ad esempio, puoi definire il seguente framework di agenti Langgraph:

Il grafo del framework dell'agente apparirebbe così:

Agent Framework

Il tuo framework di agenti può ora indirizzare le domande agli agenti pertinenti. Ad esempio, se un responsabile marketing inizia chiedendo "Mostrami i partecipanti al mio evento del 1° febbraio", verrà attivato l'agente GenieEvents. Le tracce MLFlow mostrano i passaggi del framework:

MLFlow Trace UI

Il framework dell'agente consente inoltre agli agenti di condividere le risposte come contesto reciproco. Ciò consente agli utenti di ottenere risposte dai dati che attingono a più origini senza interruzioni. Ad esempio, il responsabile marketing potrebbe voler approfondire e chiedere "Quali di questi partecipanti si sono iscritti alle notifiche via email". Il framework utilizzerà la risposta precedente di GenieEvents come contesto per l'agente GenieEmails:

Agent Framework

Con questo approccio, i tuoi utenti aziendali possono ora rispondere a domande sui dati che coprono più argomenti/tipi di dati e si basano l'uno sull'altro. Per saperne di più sull'utilizzo di Genie nei sistemi multi-agente, consulta la documentazione del prodotto.

GUIDA

La tua guida compatta all'analitica moderna

Esempio: Come integrare Genie con Microsoft Teams

Durante il periodo di anteprima privata delle API di conversazione, Microsoft Teams è stato uno degli strumenti di produttività più popolari che i clienti hanno integrato con Genie. Questa integrazione consente agli utenti di porre domande e ottenere informazioni istantaneamente, senza lasciare l'interfaccia utente di Teams.

Per fare ciò, dovrai seguire questi passaggi:

  1. Crea un nuovo Azure Bot, inclusi gruppi di risorse e piani di servizio app.
  2. Aggiungi le variabili d'ambiente e le dipendenze necessarie al tuo bot.
  3. Implementa la logica di conversazione utilizzando le API di conversazione (avvio della conversazione, recupero dei risultati, domande di follow-up, ecc.).
  4. Importa il Genie Azure Bot in un canale Teams.

Per esempi dettagliati su come configurare le API di conversazione per Microsoft Teams, consulta i seguenti articoli:

L'esempio seguente evidenzia un'applicazione reale di uno dei nostri clienti che ha utilizzato le API di conversazione durante il periodo di anteprima privata. Casas Bahia, un rivenditore leader in Brasile, serve milioni di clienti sia online che attraverso la sua vasta rete di negozi fisici. Integrando le API di conversazione Genie, Casas Bahia ha consentito agli utenti di tutta l'organizzazione, inclusi i dirigenti di livello C, di interagire direttamente con Genie all'interno del loro ambiente Microsoft Teams. Per saperne di più sul loro caso d'uso, leggi la storia del cliente Casas Bahia.

Conversion APIs

“Avere Genie integrato con Teams è stato un enorme passo avanti per la democratizzazione dei dati. Rende le informazioni sui dati accessibili a tutti, indipendentemente dal loro background tecnico.”— Cezar Steinz, Data Operations Manager, Grupo Casas Bahia

Iniziare con le API di conversazione

Con le API di conversazione Genie ora in anteprima pubblica, puoi consentire agli utenti aziendali di parlare con i loro dati da qualsiasi interfaccia. Per iniziare, consulta la documentazione del prodotto.

Siamo entusiasti di vedere come utilizzerai le API di conversazione Genie e ti incoraggiamo a iniziare subito a creare spazi Genie. Ci sono tantissimi contenuti disponibili per iniziare: puoi visitare le pagine web AI/BI e Genie, consultare la nostra vasta libreria di demo di prodotto e assicurarti di leggere la documentazione completa di AI/BI Genie.

Il team Databricks è sempre alla ricerca di migliorare l'esperienza di AI/BI Genie e gradirebbe ricevere il tuo feedback!

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Non perdere mai un post di Databricks

Iscriviti al nostro blog e ricevi gli ultimi post direttamente nella tua casella di posta elettronica.