Créer un agent d'exploration de données IA avec Gemini

Créez une interface de chat optimisée par l'intelligence artificielle (IA) pour votre entreprise interfaces de programmation système et permettre à vos collègues de poser des questions sur votre les données d'entreprise. Il est important d'analyser les données de votre organisation et de créer des rapports essentielle pour améliorer vos pratiques commerciales. Trouver des problèmes, découvrir les tendances et l'étude des résultats sont possibles avec des données pertinentes, développeur, aider vos collègues qui ne codent pas à découvrir les bonnes données peut être difficile.

La Discussion SQL est une application Open Source qui utilise l'IA générative pour pour répondre aux questions concernant les données d'entreprise. Le projet utilise l'API Gemini la fonctionnalité d'appel de fonction pour transformer des questions de données métier en requêtes SQL et en appels d'API, puis pour retranscrire les résultats en langage clair. Vous pouvez utiliser ce projet point de départ pour créer un agent de données pour votre propre entreprise et aider votre vos collègues obtiennent des réponses sans que vous ayez à écrire un tas de code à usage unique.

Pour obtenir une présentation vidéo du projet et de la façon de l'étendre, y compris des informations des personnes qui le construisent, consultez Agent AI Data | Développer avec l'IA de Google Sinon, vous pouvez commencer à étendre le projet à l'aide des éléments suivants : instructions.

Interface utilisateur de l'application du projet SQL Talk

Figure 1. Interface utilisateur de l'application du projet SQL Talk.

Configuration du projet

Ces instructions vous guident tout au long de la configuration du projet SQL Talk pour le développement et les tests. Les étapes générales sont la création de la présentation SQL la configuration d'un éditeur Google Cloud Shell. d'un projet Google Cloud, en obtenant un ID de projet Google Cloud et en utilisant pour configurer les paramètres du projet. Ces instructions décrivent comment définir le projet à l'aide de l'éditeur Cloud Shell, qui facilite la configuration, l'exécution et de mettre à jour le projet rapidement et facilement.

Créer une instance Cloud Shell pour le projet

Vous pouvez configurer le projet SQL Talk en clonant le dépôt du projet dans un Cloud Shell. Ce processus configure un environnement de développement virtuel dans l'infrastructure Google Cloud du projet et clone l'instance dans cet environnement virtuel.

Pour créer une instance Cloud Shell pour SQL Talk:

Ce lien configure une instance de l'éditeur Google Cloud Shell et clone le pour accéder à l'instance.

Éditeur Google Cloud Shell avec le code du projet SQL Talk affiché

Figure 2. Projet SQL Talk cloné dans un éditeur Google Cloud Shell environnement de développement Google Cloud.

Obtenir un ID de projet Cloud

Le projet SQL Talk utilise un ID de projet Google Cloud pour se connecter à Google Cloud y compris les modèles Gemini. Vous configurez un ID de projet dans la section l'éditeur Cloud Shell pour permettre à l'application de se connecter à ces services.

Pour associer l'éditeur Cloud Shell à un ID de projet, procédez comme suit:

  1. Accédez à la page Google Cloud console et connectez-vous si nécessaire.
  2. Sélectionnez un projet Cloud existant, ou créez-en une.
  3. Notez l'ID du projet Cloud.
  4. Connectez l'instance Editor à votre projet, puis configurez-le. Dans la fenêtre de l'éditeur Cloud Shell, saisissez la commande suivante dans le panneau du terminal:

    gcloud config set project YOUR_PROJECT_ID
    

Configurer le projet SQL Talk

Le projet SQL Talk utilise les services Google Cloud pour exécuter le projet, y compris le service de base de données BigQuery API Vertex AI pour se connecter aux modèles Gemini Le projet SQL Talk inclut un script setup.sh qui configure le projet avec les services Google Cloud requis et lance la version par défaut projet.

Pour configurer et exécuter l'instance de l'éditeur Cloud Shell du projet:

  1. Dans le panneau de terminal de la fenêtre de l'éditeur Cloud Shell, accédez à la console Répertoire de projet de la conversation SQL de l'interface système (/sql-talk-app) :

    cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
    
  2. Dans le panneau de terminal, saisissez la commande suivante:

    bash setup.sh
    

Une fois le script de configuration terminé, un message semblable à la suivante doit s'afficher : dans la fenêtre de terminal de l'éditeur Cloud Shell. Ce message indique que le processus de configuration a réussi et que l'application SQL Talk est en cours d'exécution:

You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080

Tester le projet

Une fois que vous avez terminé la configuration du projet SQL Talk, vous pouvez tester le pour vérifier qu'elle fonctionne comme prévu. Script de configuration lance automatiquement l'application lorsque vous l'exécutez, et vous pouvez redémarrer le application en suivant les étapes ci-dessous.

Pour exécuter l'application SQL Talk:

  1. Si l'éditeur Cloud Shell a été inactif et déconnecté, vous devrez peut-être pour vous reconnecter à votre ID de projet Cloud.

    gcloud config set project YOUR_PROJECT_ID
    
  2. Dans le panneau de terminal de la fenêtre de l'éditeur Cloud Shell, accédez à la console Répertoire de projet SQL Talk de l'interface système.

    cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
    
  3. Dans le panneau de terminal, saisissez la commande suivante :

    ~/miniforge/bin/streamlit run app.py --server.enableCORS=false \
        --server.enableXsrfProtection=false --server.port 8080
    
  4. Affichez l'application SQL Talk. En haut à droite de l'éditeur Cloud Shell sélectionnez le bouton Aperçu sur le Web, puis Prévisualiser sur le port 8080

En-tête de l'éditeur Cloud Shell avec le bouton "Aperçu sur le Web" mis en évidence

Pour afficher les mises à jour de l'application SQL Talk:

  • Dans l'aperçu sur le Web de l'application Web Talk SQL, actualisez le navigateur ou onglet du navigateur.

Pour arrêter l'application SQL Talk:

  • Dans le panneau de terminal de la fenêtre de l'éditeur Cloud Shell, appuyez sur Ctrl-C.

Modifier l'application

Vous pouvez modifier le comportement de l'application SQL Talk et lui ajouter des fonctionnalités en modifiant le code Python de l'application. Cette section explique comment ajouter un nouvel appel de fonction à l'application SQL Talk.

L'appel de fonction de l'API Gemini utilise une syntaxe spécifique pour définir les fonctions qui seront utilisées par l'algorithme pour répondre à des questions ou résoudre des problèmes. Cette syntaxe n'a pas besoin correspondent précisément à la syntaxe d'un appel d'API réel. Utilisez plutôt la fonction Appeler la fonctionnalité pour forcer le modèle génératif à fournir des données spécifiques des paramètres conformes à la syntaxe d'appel d'API, puis les utiliser pour les appels d'API dans le code de votre application.

Cet exemple d'implémentation vous montre comment créer une définition d'appel de fonction permettant de répertorier les requêtes ou jobs de base de données récents, puis de mapper cette définition sur la l'appel d'API réel dans le code de l'application SQL Talk.

Ajouter une définition d'appel de fonction

Ajoutez un appel de fonction pour lister les requêtes ou les jobs de base de données récents. Ce est utilisée par le modèle génératif pour comprendre le rôle de l'appel d'API et les paramètres d'entrée requis. Cet exemple de définition de fonction est est définie sans aucun paramètre.

Pour ajouter un appel de fonction à l'application:

  1. Dans la fenêtre de l'éditeur Cloud Shell, ouvrez le fichier de code sql-talk-app/app.py.
  2. Après la déclaration de la fonction list_datasets_func, ajoutez un FunctionDeclaration

    list_jobs_func = FunctionDeclaration(
        name="list_jobs",
        description="Get a list of the 10 most recent database requests to help answer the user's question",
        parameters={
            "type": "object",
            "properties": {
      },
    },
    )
    
  3. Ajoutez la nouvelle fonction à l'objet sql_query_tool.

    sql_query_tool = Tool(
        function_declarations=[
            sql_query_func,
            list_datasets_func,
            List_jobs_func,  # add this new function
            list_tables_func,
            get_table_func,
        ],
    )
    

Pour ajouter du code permettant d'exécuter l'appel d'API pour la nouvelle fonction:

  • Dans le fichier de code sql-talk-app/app.py, ajoutez une nouvelle clause if au while function_calling_in_process:en boucle.

    if response.function_call.name == "list_datasets":
        ...
    
    # add this if clause for list_jobs function
    if response.function_call.name == "list_jobs":
        api_response = client.list_jobs(max_results=10)  # API request(s)
        api_response = str([job.job_id for job in api_response])
        api_requests_and_responses.append(
          [response.function_call.name,params, api_response])
    

Ressources supplémentaires

Pour en savoir plus sur le projet SQL Query, consultez dépôt de code et consultez les Article de blog de la communauté Cloud sur le projet SQL Talk. Si vous avez besoin d'aide pour créer l'application qui souhaitent collaborer avec d'autres développeurs, consultez le Google Developers Community Discord et Forum Google Cloud sur l'IA et le ML. Pour découvrir d'autres projets Build with Google avec l'IA, consultez le playlist vidéo.