- Démarrage
- Pour les administrateurs
- Projets de workflow RPA
- Créer un workflow RPA à partir d'une idée
- Créer un projet
- Comment démarrer un workflow RPA
- Gestion des fichiers et dossiers du projet
- Connecter des workflows RPA à vos comptes
- Configurer les activités
- Gérer les activités d'un projet
- Transmission de valeurs entre les activités
- Naviguer dans les éléments
- Gérer les données d'un projet
- Configurer un projet pour utiliser vos données
- Utiliser des ressources de fichiers et de dossiers
- Projets d'application
- Applications dans Studio Web
- Concevoir des projets d'application
- Débogage de projets d'application
- Publier, déployer et mettre à niveau des projets d’application
- Importer et exporter des projets d'application
- Travailler avec des entités dans un projet d'application
- Créer des applications accessibles
- Ajout de descripteurs accessibles
- Le libellé Accessible
- Utilisation de la commande Onglet pour l'accessibilité
- Concevoir des listes et des en-têtes accessibles
- Conception d'application réactive
- Taux de contraste des couleurs
- Prédéfinir les styles et les mappages au niveau de l'air pour la commande En-tête
- Limites connues
- Définir un contexte externe à l'aide de paramètres de requête
- Définir un contexte externe à l'aide d'événements externes
- Utiliser des tableaux pour remplir les commandes Liste déroulante, Liste déroulante à sélection multiple et Bouton radio
- Utiliser des contrôles tabulaires avec des entités Data Service dans les projets d'application
- Intégrer des agents conversationnels
- Activités d'application
- Processus d’agent
- Agents
- Solutions
- Workflows d’API
- Interface utilisateur
- Gérer les workflows d’API
- Utiliser des workflows d’API
- Créer votre premier workflow d’API
- Pagination sur les appels HTTP
- Extraction de la hiérarchie de travailleurs de Workday
- Récupérer les détails d'un ticket
- Intégration de l'API Databricks Genie avec les workflows d'API
- Intégration de l'API Snowflake Cortex avec les workflows d'API
- Tests

Guide de l'utilisateur Studio Web
Intégration de l'API Databricks Genie avec les workflows d'API
Databricks Genie permet l'interaction en langage naturel avec vos données d'entreprise, ce qui vous permet d'interroger, d'analyser et d'agir sur des ensembles de données sans avoir besoin d'écrire du code.
Ce guide explique comment interagir avec une API Databricks Genie afin d'obtenir des informations en fonction des saisies de question. Il effectue les principales actions suivantes :
-
Initialise les variables : configure les paramètres nécessaires tels que les jetons, les URL et les identifiants.
-
Obtient un jeton : effectue une requête POST HTTP pour obtenir un jeton d’accès à des fins d’authentification.
-
Démarre une conversation : envoie la question de l'utilisateur à l'API Genie pour engager une conversation.
-
Interrogations pour la complétion du message : entre dans une boucle Do While pour vérifier à plusieurs reprises le statut du message Genie jusqu'à ce qu'il soit TERMINÉ (COMPLETE).
-
Récupère les résultats de la requête : une fois le message terminé, il récupère les résultats de la requête finale à partir de l’API Genie et fournit les données récupérées comme sortie du workflow.

Prérequis
Tout d'abord, vous devez avoir un espace Genie appelé « Restrictions d'éléments » dans votre espace de travail Databricks.
Son objectif est de référencer les restrictions d’expédition pour différents produits et de fournir des réponses concernant les détails d’expédition.
-
Définissez les entrées de workflow. Ouvrez le gestionnaire de données et ajoutez un nouveau paramètre Entrées avec la configuration suivante :
- Nom—Question
- Type—String
- Marquez-le comme obligatoire.
-
Définissez des variables de workflow. Ouvrez le Gestionnaire de données > Variables et ajoutez les éléments suivants :
token(String) : stocke le jeton d'authentification nécessaire pour accéder à l'API Databricks Genie.conversation_id(String) : suit une session de conversation spécifique avec l'API Databricks Genie. Lorsque vous démarrez une conversation, l'API fournit cet ID et vous l'utilisez pour faire référence à cette conversation en cours dans les requêtes suivantes.message_id(String) : fait référence à un message spécifique au sein d'une conversation. Cet ID est ensuite utilisé pour récupérer le statut et éventuellement les résultats du traitement de ce message particulier.attachment_id(String) : indique une pièce jointe spécifique (qui, dans ce cas, contient le résultat de la requête) associée à un message dans l'API Genie.url(String) : stocke l'URL de base du point de terminaison de l'API Databricks Genie.space_id(String) : indique un espace spécifique dans Databricks Genie.
-
Ajoutez une activité HTTP pour récupérer le jeton d'accès et configurez-la comme suit :
- Nom d’affichage—« Obtenir la requête HTTP du jeton »
- Méthode—PUBLIER
- URL de la demande—
https://accounts.cloud.databricks.com/oidc/accounts/{account_id}/v1/token - En-têtes—
{ "Authorization": "Basic <your_basic_token>", "Content-Type": "application/x-www-form-urlencoded" }{ "Authorization": "Basic <your_basic_token>", "Content-Type": "application/x-www-form-urlencoded" } - Corps de la requête—
"grant_type=client_credentials&scope=all-apis" ```The context output name for this activity is `HTTP_Request_1`."grant_type=client_credentials&scope=all-apis" ```The context output name for this activity is `HTTP_Request_1`.
-
Affectez le jeton récupéré dans l'activité précédente à votre variable
token. Ajoutez une activité Attribuer et configurez-la comme suit :- En variable—
token - Définir la valeur—
$context.outputs.HTTP_Request_1.content.access_tokenLe nom de la sortie du contexteHTTP_Request_1peut différer de celui utilisé dans votre workflow.
- En variable—
-
Ajoutez une activité HTTP pour démarrer la conversation et configurez-la comme suit :
- Nom complet—« Démarrer la conversation HTTP Requête »
- Méthode—PUBLIER
- URL de la demande—
https://{your-databricks-instance}/api/2.0/genie/spaces/{space_id}/start-conversation, ou créez-la avec l'éditeur d'expressions$context.variables.url + "/api/2.0/genie/spaces/"+ $context.variables.space_id +"/start-conversation"$context.variables.url + "/api/2.0/genie/spaces/"+ $context.variables.space_id +"/start-conversation" - En-têtes—
{"Authorization": "Bearer " + $context.variables.token}{"Authorization": "Bearer " + $context.variables.token} - Corps de la requête—
{"content": $workflow.input.question}{"content": $workflow.input.question}
Assurez-vous que la sortie est enregistrée. Vous pouvez récupérer
conversation_idetmessage_idà partir de la sortie de cette activité. Le nom de sortie du contexte pour cette activité estHTTP_Request_2. -
Entrez une boucle pour vérifier le statut du message Genie jusqu’à TERMINER (FINISH). Ajoutez une activité Faire pendant et définissez la Condition sur
$context.outputs.HTTP_Request_3?.content?.status !== "COMPLETED", oùHTTP_Request_3fait référence à l'activité Obtenir la requête HTTP du message. Cela signifie que la boucle se poursuit tant que le statut du message n’est pas TERMINÉ (COMPLETE). -
Dans la boucle Faire pendant :
- Ajoutez une activité HTTP pour obtenir le dernier message et configurez-la comme suit :
- Nom d’affichage—« Obtenir une requête HTTP du message »
- Méthode—GET
- URL de la demande—
https://{your-databricks-instance}/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}, ou créez-la avec l'éditeur d'expressions[ $context.variables.url+"/api/2.0/genie/spaces/"+$context.variables.space_id+"/conversations/", $context.outputs.HTTP_Request_2.content.conversation_id, "/messages/", $context.outputs.HTTP_Request_2.content.message_id ].join('')[ $context.variables.url+"/api/2.0/genie/spaces/"+$context.variables.space_id+"/conversations/", $context.outputs.HTTP_Request_2.content.conversation_id, "/messages/", $context.outputs.HTTP_Request_2.content.message_id ].join('')
Où
HTTP_Request_2fait référence à l'activité Démarrer la conversation HTTP Request.- En-têtes—
{"Authorization": "Bearer " + $context.variables.token}{"Authorization": "Bearer " + $context.variables.token} - Corps de la requête—
{"content": $workflow.input.question} ```The context output name for this activity is `HTTP_Request_3`.{"content": $workflow.input.question} ```The context output name for this activity is `HTTP_Request_3`.
- Ajoutez une activité Si immédiatement après l’activité Obtenir la requête HTTP du message, et définissez la Condition sur
$context.outputs.HTTP_Request_3?.content?.status === "COMPLETED", oùHTTP_Request_3fait référence à l’activité Obtenir la requête HTTP du message. - Dans la branche Puis (true), ajoutez une activité Affecter et configurez-la comme suit :
- En variable—
conversation_id - Définissez la valeur—
$context.outputs.HTTP_Request_3.content.conversation_id, oùHTTP_Request_3fait référence à l’activité Obtenir la requête HTTP du message.
- En variable—
- Ajouter une autre activité de type Attribuer :
- En variable—
message_id - Définissez la valeur—
$context.outputs.HTTP_Request_3.content.message_id, oùHTTP_Request_3fait référence à l’activité Obtenir la requête HTTP du message.
- En variable—
- Ajouter une autre activité de type Attribuer :
- En variable—
attachment_id - Définissez la valeur—
$context.outputs.HTTP_Request_3.content.attachments[0].attachment_id, oùHTTP_Request_3fait référence à l’activité Obtenir la requête HTTP du message.
- En variable—
- Sur la branche Sinon , ajoutez une activité Attendre et définissez la durée sur une seconde. Cela indique au workflow d'attendre pendant une courte période avant de réessayer.
- Ajoutez une activité HTTP pour obtenir le dernier message et configurez-la comme suit :
-
Quittez la boucle et ajoutez une activité HTTP pour exécuter la requête SQL et configurez-la comme suit :
- Nom d’affichage—« Exécuter la requête HTTP SQL »
- Méthode—GET
- URL de la demande—
https://{your-databricks-instance}/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/query-result, ou créez-la avec l'éditeur d'expressions$context.variables.url+"/api/2.0/genie/spaces/"+$context.variables.space_id+"/conversations/" + $context.variables.conversation_id + "/messages/" + $context.variables.message_id + "/attachments/" + $context.variables.attachment_id + "/query-result"$context.variables.url+"/api/2.0/genie/spaces/"+$context.variables.space_id+"/conversations/" + $context.variables.conversation_id + "/messages/" + $context.variables.message_id + "/attachments/" + $context.variables.attachment_id + "/query-result" - En-têtes—
{"Authorization": "Bearer " + $context.variables.token} ```The context output name for this activity is `HTTP_Request_3`.{"Authorization": "Bearer " + $context.variables.token} ```The context output name for this activity is `HTTP_Request_3`.
-
Définissez les sorties du workflow. Ouvrez le Gestionnaire de données et ajoutez les paramètres d'entrée suivants :
- Nom—nombre_lignes
- Type—Nombre
- Marquez-le comme requis.et
- Nom—table_données
- Type—Tableau
- Marquez-le comme obligatoire.
-
Ajoutez une activité Réponse et configurez-la comme suit :
- Réponse—
{ "row_count": -75647404.57028332, "data_array": [ [], [], [ "ut et aute officia", "ex ut", "nisi non ut Lorem velit", "aliquip Duis consectetur irure id" ] ] }{ "row_count": -75647404.57028332, "data_array": [ [], [], [ "ut et aute officia", "ex ut", "nisi non ut Lorem velit", "aliquip Duis consectetur irure id" ] ] }
- Réponse—
-
Exécutez l'intégration. Une fois déployé, le workflow peut être invoqué avec n’importe quelle requête en langage naturel. Par exemple, la question pourrait être la suivante : « Y a-t-il des restrictions pour la livraison de l’UGS SKU ENB-SP-200 à Cube ?
Points à retenir :
- Configuration simple : le workflow d'API fournit un moyen rapide de connecter Genie sans code personnalisé.
- Schéma cohérent : les réponses Genie sont basées sur des données JSON, ce qui est facile à analyser dans UiPath.
- Intégration évolutive : les réponses peuvent être utilisées dans Apps, dans des workflows de longue durée ou dans des orchestrations.
- Prototypage rapide : la configuration de l'automatisation du travail prend quelques minutes, ce qui permet une validation rapide des cas d'utilisation.