Dans le cadre de notre initiative "Semaine des agents IA", nous introduisons de nouvelles fonctionnalités pour aider les entreprises à créer et à gouverner des agents IA de haute qualité. À cette fin, nous sommes ravis d'annoncer la préversion publique des API de conversation Genie, disponibles sur AWS, Azure et GCP. Avec cette suite d'API, vos utilisateurs peuvent désormais exploiter AI/BI Genie pour obtenir en libre-service des informations sur les données en langage naturel à partir de n'importe quelle surface, y compris les applications Databricks, Slack, Teams, Sharepoint, des applications personnalisées, et plus encore. De plus, les API de conversation vous permettent d'intégrer AI/BI Genie dans n'importe quel agent IA, avec ou sans Agent Framework.
En utilisant la suite d'API de conversation Genie, vous pouvez soumettre par programme des invites en langage naturel et recevoir des informations sur les données, tout comme vous le feriez dans l'interface utilisateur de Genie. L'API est stateful, permettant à Genie de conserver le contexte lorsque vous posez des questions de suivi dans un fil de conversation.
Dans ce blog, nous examinons les points d'accès clés disponibles dans la préversion publique, explorons l'intégration de Genie avec Mosaic AI Agent Framework, et mettons en évidence un exemple d'intégration de Genie dans un canal Microsoft Teams.
Examinons un exemple pratique pour comprendre le fonctionnement des API de conversation Genie. La première chose à noter est que les API de conversation doivent interagir avec un espace Genie déjà créé. Nous vous recommandons de commencer par notre documentation produit pour configurer votre espace Genie, puis de suivre ces bonnes pratiques pour le configurer de manière optimale.
Imaginez que vous avez déjà créé, configuré et partagé un espace Genie conçu pour répondre aux questions sur vos données marketing. Maintenant, vous voulez que votre équipe marketing utilise cet espace pour poser des questions et explorer des informations, mais au lieu d'y accéder via l'interface utilisateur de Genie, vous voulez qu'elle le fasse depuis une application externe.
Pour commencer, supposons que vous souhaitiez que votre équipe marketing pose une question simple : « Quels clients avons-nous contactés par e-mail hier ? ». Pour poser cette question à l'aide des API de conversation Genie, nous devrons envoyer une requête POST au point d'accès suivant :
/api/2.0/genie/spaces/{space_id}/start-conversation
Ce point d'accès démarre un nouveau fil de conversation, en utilisant votre question comme invite initiale, tout comme dans l'interface utilisateur de l'espace Genie. Notez que la requête doit inclure votre composant hôte, l'ID de l'espace Genie et un jeton d'accès pour l'authentification. Vous pouvez trouver le space_id dans l'URL de l'espace Genie, comme indiqué ci-dessous :
https://example.databricks.com/genie/rooms/12ab345cd6789000ef6a2fb844ba2d31
Voici un exemple de la requête POST correcte requise :
| 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?", } |
Si l'instruction est soumise correctement, l'API renverra la conversation créée et le message en réponse à la requête POST, comme montré dans l'exemple suivant :
{ “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 } } |
En utilisant le conversation_id et le message_id, vous pouvez maintenant interroger pour vérifier l'état de génération du message et récupérer l'instruction SQL générée et la description de la requête associées comme suit :
GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id} HOST= <WORKSPACE_INSTANCE_NAME> Authorization: Bearer <your_authentication_token> |
Voici un exemple de la réponse :
{ |
Une fois que le champ d'état du message affiche « COMPLETED », cela signifie que l'instruction SQL générée a fini de s'exécuter et que les résultats de la requête sont prêts à être récupérés. Vous pouvez maintenant obtenir la réponse comme suit :
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> |
Bien sûr, vous pouvez également émettre des invites de suivi pour vos fils de conversation. Par exemple, disons que l'équipe marketing souhaite poser la question suivante : « Lesquels de ces clients ont ouvert et transféré l'e-mail ? »
Pour gérer cela, vous enverrez une autre requête POST avec la nouvelle invite au fil de conversation existant comme suit :
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?", } |
Si vous souhaitez actualiser les données des invites précédentes, l'API vous permet également de réexécuter les requêtes SQL qui ont été générées précédemment. Pour plus de détails sur les points d'accès de l'API, veuillez vous référer à la documentation produit.
Pour garantir les meilleures performances, nous recommandons les bonnes pratiques suivantes pour les API :
Les API de conversation s'intègrent également de manière transparente dans votre framework d'agents Mosaic AI avec le wrapper databricks_langchain.genie.
Supposons que mes responsables marketing aient besoin de répondre à des questions sur trois sujets :
Vous pouvez construire un framework multi-agents pour répondre aux questions portant sur des données structurées et non structurées. Par exemple, vous pouvez définir le framework d'agents Langgraph suivant :
Le graphe du framework d'agents ressemblerait à ceci :

Votre framework d'agents peut maintenant diriger les questions vers les agents appropriés. Par exemple, si un responsable marketing commence par demander « Montre-moi les participants de mon événement du 1er février », l'agent GenieEvents sera déclenché. Les traces MLFlow montrent les étapes du framework :

Le framework d'agents permet également aux agents de partager des réponses comme contexte les uns pour les autres. Cela permet aux utilisateurs d'obtenir des réponses de données qui proviennent de plusieurs sources de manière transparente. Par exemple, le responsable marketing peut vouloir approfondir et demander « Les participants ont-ils également été inscrits aux notifications par e-mail ? ». Le framework utilisera la réponse précédente de GenieEvents comme contexte pour l'agent GenieEmails :

Avec cette approche, vos utilisateurs professionnels peuvent désormais répondre à des questions sur les données qui couvrent plusieurs sujets/types de données et qui se complètent. Pour en savoir plus sur l'utilisation de Genie dans les systèmes multi-agents, veuillez consulter la documentation du produit.
Pendant la période de préversion privée de l'API de conversation, Microsoft Teams était l'un des outils de productivité les plus populaires que les clients intégraient avec Genie. Cette intégration permet aux utilisateurs de poser des questions et d'obtenir des informations instantanément, sans quitter l'interface de Teams.
Pour ce faire, vous devrez suivre les étapes suivantes :
Pour des exemples détaillés sur la façon de configurer les API de conversation pour Microsoft Teams, veuillez consulter les articles suivants :
L'exemple ci-dessous met en évidence une application concrète d'un de nos clients qui a utilisé les API de conversation pendant la période de préversion privée. Casas Bahia, un détaillant leader au Brésil, dessert des millions de clients en ligne et via son vaste réseau de magasins physiques. En intégrant les API de conversation Genie, Casas Bahia a permis aux utilisateurs de toute l'organisation, y compris aux cadres dirigeants, d'interagir avec Genie directement dans leur environnement Microsoft Teams. Pour en savoir plus sur leur cas d'utilisation, lisez l'étude de cas Casas Bahia.

« Avoir Genie intégré à Teams a été un grand pas en avant pour la démocratisation des données. Il rend les informations accessibles à tous, quel que soit leur bagage technique. »— Cezar Steinz, Data Operations Manager, Grupo Casas Bahia
Avec les API de conversation Genie désormais en préversion publique, vous pouvez permettre aux utilisateurs professionnels de dialoguer avec leurs données depuis n'importe quelle interface. Pour commencer, veuillez consulter la documentation du produit.
Nous sommes impatients de voir comment vous utiliserez les API de conversation Genie et vous encourageons à commencer à créer des espaces Genie dès maintenant. Il existe une tonne de contenu disponible pour vous aider à démarrer – vous pouvez visiter les pages Web AI/BI et Genie, consulter notre vaste bibliothèque de démos de produits, et assurez-vous de lire la documentation complète sur AI/BI Genie.
L'équipe Databricks cherche toujours à améliorer l'expérience AI/BI Genie et aimerait connaître vos commentaires !
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
