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.
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:
{ |
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.
Per garantire le migliori prestazioni, consigliamo le seguenti best practice per le API:
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:
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ì:

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:

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:

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.
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:
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.

“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
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
