Effectuer des requêtes sur une base de données utilisateur·trices à l'aide d'OpenAI
Cloud Data Fabric
Data Fabric
Qlik Talend Cloud Enterprise Edition
Real-Time Big Data Platform
Pourquoi et quand exécuter cette tâche
Ce scénario vous présente l'utilisation du composant cLangChainTools pour effectuer une requête sur une base de données utilisateur·trices avec OpenAI.
Pour effectuer ce scénario, vous avez besoin d'un moteur de base de données H2 démarré et de la table disponible Products suivante.
Déposer et relier les composants
Cloud Data Fabric
Data Fabric
Qlik Talend Cloud Enterprise Edition
Real-Time Big Data Platform
Procédure
Depuis la Palette, glissez-déposez un cLangChainConnection, un cSQLConnection, un cBeanRegister, un cTimer, un cSetBody, un cJavaDSLProcessor, un cProcessor, un cSQL, un cJsonWriter, deux cLangChainTools et deux cLog dans l'espace de modélisation graphique.
Reliez les composants à l'aide d'un lien Row > Route, comme ci-dessus.
Configurer les composants
Cloud Data Fabric
Data Fabric
Qlik Talend Cloud Enterprise Edition
Real-Time Big Data Platform
Procédure
Double-cliquez sur le cLangChainConnection pour afficher sa vue Basic settings dans l'onglet Component.
Dans la liste Language Model, sélectionnez OpenAI.
Dans le champ Base URL, conservez l'adresse par défaut du serveur d'API, http://127.0.0.1/default.
Dans le champ API Key, saisissez votre clé API pour accéder à OpenAI.
Dans le champ Model Name, saisissez le nom du modèle à utiliser, "gpt-4o-mini".
Dans le champ Timeout(s), saisissez le délai d'expiration de 3000 secondes pour l'établissement de la connexion au modèle de langage par le composant.
Double-cliquez sur le cSQLConnection pour afficher sa vue Basic settings dans l'onglet Component.
Configurez les propriétés comme suit pour la connexion à la base de données H2 :
Dans le champ Driver Class, saisissez le nom de la classe pour la base de données H2, "org.h2.Driver".
Cliquez sur le bouton [+] sous la table Driver JAR pour ajouter une ligne.
Sélectionnez la cellule et cliquez sur le bouton [...] à droite de la cellule pour ouvrir la boîte de dialogue Module.
Cliquez sur l'option Platform et sélectionnez le JAR du pilote h2-2.2.220.jar dans la liste.
Cliquez sur OK pour fermer la boîte de dialogue Module.
Dans le champ JDBC URL, saisissez l'URL JDBC de la base de données à utiliser, "jdbc:h2:tcp://localhost/~/test" dans cet exemple.
Cochez la case Authentication et saisissez les données d'authentification à la base de données.
Double-cliquez sur le composant cBeanRegister pour ouvrir sa vue Basic settings dans l'onglet Component.
Dans le champ Id, saisissez "jacksonJSONDataFormat".
Sélectionnez l'option Customized et, dans le champ Code, saisissez le code suivant pour définir le format de données Gson :
GsonDataFormat jsonDataFormat = new GsonDataFormat();
jsonDataFormat.setPrettyPrint(true);
jsonDataFormat.setSerializeNulls(false);
beanInstance = jsonDataFormat;
Double-cliquez sur le cTimer pour ouvrir sa vue Basic settings dans l'onglet Component.
Dans le champ Repeat, saisissez 1 pour générer un échange de messages. Laissez les paramètres par défaut pour les autres options.
Double-cliquez sur le composant cSetBody afin d'afficher sa vue Basic settings dans l'onglet Component.
Sélectionnez Constant dans la liste Language et saisissez "Hello, could you show me the information of all pants?" dans le champ Expression, comme corps du message.
Double-cliquez sur le cLangChainTools de la première sous-Route pour afficher sa vue Basic settings dans l'onglet Component.
Saisissez "db-tools" dans le champ Name et "store" dans le champ Tags.
Dans la liste Connection, sélectionnez le composant cLangChainConnection_1 pour vous connecter à OpenAI.
Dans la vue Advanced settings, saisissez le message suivant dans la zone System Message.
"You are an intelligent store assistant. In the store, threre are shirts, dresses, pants and shoes. Users will ask you questions about store products. Your task is to provide accurate and concise answers.
If you are unable to access the tools to answer the user's query, tell the user that the requested information is not available at this time and that they can try again later."
Double-cliquez sur le cLog de la première sous-Route pour afficher sa vue Basic settings dans l'onglet Component.
Sélectionnez l'option Specify output log message et saisissez "${body}" dans le champ Message pour enregistrer le corps du message.
Double-cliquez sur le cLangChainTools de la seconde sous-Route pour afficher sa vue Basic settings dans l'onglet Component.
Saisissez "productsByCategory" dans le champ Name et "store" dans le champ Tags.
Dans le champ Description, saisissez une description de l'outil, "Query_database_products_by_category" dans cet exemple.
Dans la liste Connection, sélectionnez le composant cLangChainConnection_1 pour vous connecter à OpenAI.
Double-cliquez sur le composant cJavaDSLProcessor pour ouvrir sa vue Basic settings dans l'onglet Component.
Dans le champ Code, saisissez .convertHeaderTo("category", String.class) pour convertir la catégorie (category) à String.
Double-cliquez sur le second cLog pour afficher sa vue Basic settings dans l'onglet Component.
Sélectionnez l'option Specify output log message et saisissez "${header.category}" dans le champ Message pour enregistrer la catégorie.
Double-cliquez sur le composant cProcessor afin d'afficher sa vue Basic settings dans l'onglet Component.
Double-cliquez sur le cSQL pour afficher sa vue Basic settings dans l'onglet Component.
Dans la liste Datasource, sélectionnez le cSQLConnection_1 pour utiliser la connexion à la base de données établie par ce composant. Dans le champ Query, saisissez le code suivant pour sélectionner les données des colonnes category, size, color et stock de la catégorie demandée, dans la table Products :
"select category, size, color, stock from Products where Lower(category) = Lower(:#category)"
Double-cliquez sur le cJsonWriter pour afficher sa vue Basic settings dans l'onglet Component.
Sélectionnez Gson dans la liste JSON Library et cochez la case Pretty Print afin de formater le message JSON de sortie de manière lisible.
Appuyez sur les touches Ctrl+S pour sauvegarder votre Route.
Visualiser le code et exécuter la Route
Cloud Data Fabric
Data Fabric
Qlik Talend Cloud Enterprise Edition
Real-Time Big Data Platform
Procédure
Cliquez sur l'onglet Code au bas de l'espace de modélisation graphique afin de visualiser le code généré.
Comme présenté ci-dessus, un flux de message est routé du cLangChainTools_2 au cJsonWriter_1 et l'autre est routé du cTimer_1 au cLog_1.
Cliquez sur la vue Run pour l'afficher et cliquez sur le bouton Run pour lancer l'exécution de votre Route. Vous pouvez également appuyer sur F6 pour l'exécuter.
La catégorie demandée et les informations relatives aux produits de cette catégorie dans la table de base de données sont affichées dans la console d'exécution.
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.