Créer un assistant de recherche de brevets avec AlloyDB et Vertex AI Agent Builder – Partie 2

Créer un assistant de recherche de brevets avec AlloyDB et Vertex AI Agent Builder – Partie 2

À propos de cet atelier de programmation

subjectDernière mise à jour : sept. 4, 2024
account_circleRédigé par Author: Abirami Sukumaran

1. Présentation

La recherche de brevets est vaste et complexe. Passer au crible d'innombrables résumés techniques à la recherche d'innovations pertinentes n'est pas une mince affaire. Les recherches traditionnelles basées sur les mots clés sont souvent inexactes et prennent du temps. Les extraits sont longs et techniques, ce qui rend difficile la compréhension rapide de l'idée principale. Cela peut conduire les chercheurs à passer à côté de brevets clés ou à perdre du temps avec des résultats non pertinents.

La recette secrète de cette révolution est Vector Search. Au lieu de s'appuyer sur une simple correspondance de mots clés, la recherche vectorielle transforme le texte en représentations numériques (représentations vectorielles continues). Cela nous permet d'effectuer une recherche en fonction du sens de la requête, et pas seulement des mots spécifiques utilisés. Dans le monde des recherches littéraires, cela change la donne. Imaginez trouver un brevet pour un « moniteur de fréquence cardiaque portable ». même si l'expression exacte n'est pas utilisée dans le document.

Défi:les recherches de littérature modernes doivent fournir des réponses instantanées et des recommandations intelligentes en adéquation avec leurs préférences spécifiques. Les méthodes de recherche traditionnelles ne permettent souvent pas d'offrir ce niveau de personnalisation.

La solution:notre application de chat basée sur les connaissances permet de relever ce défi. Il s'appuie sur une base de connaissances approfondie tirée de votre ensemble de données de brevets pour comprendre l'intention des clients, réagir intelligemment et fournir des résultats ultrapertinents.

Ce que vous allez faire

Dans le cadre de cet atelier (partie 2), vous allez:

  1. Créer un agent Vertex AI Agent Builder
  2. Intégrer l'outil AlloyDB à l'agent

Conditions requises

  • Un navigateur tel que Chrome ou Firefox
  • Un projet Google Cloud avec facturation activée.

2. Architecture

Flux de données: examinons de plus près comment les données transitent par notre système:

Ingestion:

Les données de brevets sont chargées dans AlloyDB.

Moteur d'analyse:

Nous utiliserons AlloyDB comme moteur d'analyse pour effectuer les opérations suivantes:

  1. Extraction du contexte: le moteur analyse les données stockées dans AlloyDB pour comprendre l'ensemble de données sur les brevets.
  2. Création de représentations vectorielles continues: des représentations vectorielles continues (représentations mathématiques du texte) sont générées à la fois pour la requête de l'utilisateur et pour les informations stockées dans AlloyDB.
  3. Recherche vectorielle: le moteur effectue une recherche par similarité en comparant la représentation vectorielle continue de la requête à celle d'extraits de brevets. Cela permet d'identifier le "plus proche voisin" le plus pertinent. en fonction du contexte recherché par l'utilisateur.

Génération de réponses:

Les réponses validées sont structurées dans un tableau JSON, et l'ensemble du moteur est empaqueté dans une fonction Cloud Run sans serveur appelée à partir d'Agent Builder.

Les étapes ci-dessus ont déjà été abordées dans la partie 1 de l'atelier.

Nous avons abordé les aspects techniques de la création d'un moteur d'analyse basé sur les connaissances sur lequel repose notre assistant intelligent de recherche de brevets. Voyons maintenant comment exploiter la magie d'Agent Builder pour donner vie à ce moteur dans une interface de conversation. Assurez-vous de disposer de l'URL du point de terminaison avant de commencer la deuxième partie. La prochaine étape est le sujet de cet atelier:

Interaction conversationnelle:

Agent Builder présente les réponses à l'utilisateur dans un format en langage naturel, ce qui facilite les échanges.

3. Avant de commencer

Créer un projet

  1. Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet .
  3. Vous allez utiliser Cloud Shell, un environnement de ligne de commande exécuté dans Google Cloud et doté de bq. Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud.

Image du bouton "Activer Cloud Shell"

  1. Une fois connecté à Cloud Shell, vérifiez que vous êtes déjà authentifié et que le projet est défini sur votre ID de projet à l'aide de la commande suivante:
gcloud auth list
  1. Exécutez la commande suivante dans Cloud Shell pour vérifier que la commande gcloud connaît votre projet.
gcloud config list project
  1. Si votre projet n'est pas défini, utilisez la commande suivante pour le définir :
gcloud config set project <YOUR_PROJECT_ID>
  1. Activer les API requises. L'alternative à la commande gcloud consiste à passer par la console, en recherchant chaque produit ou en cliquant sur ce lien.

Si vous manquez une API, vous pouvez toujours l'activer au cours de l'implémentation.

Consultez la documentation pour connaître les commandes gcloud ainsi que leur utilisation.

Remarque importante:Veillez également à suivre la PARTIE 1 de l'atelier pour pouvoir le terminer.

4. Création d&#39;un agent

Présentation d'Agent Builder

Agent Builder est un outil puissant nécessitant peu de programmation qui nous permet de créer des agents conversationnels rapidement et efficacement. Il simplifie le processus de conception des flux de boîte de dialogue, d'intégration des bases de connaissances et de connexion à des API externes. Dans le cas présent, nous utiliserons Agent Builder pour nous connecter de manière fluide au point de terminaison Cloud Functions que nous avons développé dans la partie 1. Notre assistant de recherche de brevets pourra ainsi accéder à notre base de connaissances sur les brevets et répondre intelligemment aux requêtes des utilisateurs.

Assurez-vous que la fonction Cloud Run Java créée dans la Partie 1 renvoie un tableau JSON au lieu de texte brut.

Créer l'agent

Commençons par créer ce nouvel agent pour répondre aux questions des utilisateurs sur les produits vestimentaires.

  1. Commencez par vous connecter à la plate-forme Agent Builder. Si vous êtes invité à activer l'API, cliquez sur CONTINUER ET ACTIVER L'API.
  2. Cliquez sur CRÉER L'APPLICATION. et attribuez un nom descriptif à votre agent (par exemple, "Assistant de recherche de brevet").
  3. Cliquez sur le type d'application "Agent".

462bb48664e9a14e.png

  1. pour en savoir plus. Donnez un nom descriptif à votre agent, tel que Assistant de recherche de brevets. et définissez la région sur us-central1.
  2. Saisissez les informations concernant l'agent:
  3. Remplacez le nom de l'agent par Patent Search Agent (Agent de recherche de brevet).
  4. Ajoutez l'objectif ci-dessous :
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

38f7d77d5ed0cb2a.png

  1. Enregistrez-le maintenant et laissez les instructions vides pour le moment.
  2. Cliquez ensuite sur Outils dans le menu de navigation, puis sur CRÉER.

38f7d77d5ed0cb2a.png

Enter Tool Name (Saisir le nom de l'outil) : Patent Search Tool

Type:OpenAPI

Saisissez la description de l'outil:

This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.

Saisissez le schéma "OpenAPI" au format YAML:

C'est dans cette partie que nous utilisons le point de terminaison du backend pour alimenter l'agent. Copiez la spécification OpenAPI ci-dessous et remplacez l'espace réservé d'URL (entre chevrons) par le point de terminaison de votre fonction Cloud:

openapi: 3.0.0
info
:
  title
: Patent Search API
  version
: v1
servers
:
 
- url: YOUR_CLOUDFUNCTION_ENDPOINT_URL
paths
:
 
/patent-search:
    post:
      summary: Search for patents using a text query.
      requestBody:
        content:
          application/
json:
            schema
:
              type
: object
              properties
:
                search
:
                  type
: string
                  description
: The text query to search for patents.
                  example
: A new Natural Language Processing related Machine Learning Model
      responses
:
       
'200':
          description
: Successful search response with a JSON array of matching patents.
          content
:
            application
/json:
              schema
:
                type
: array
                items
:
                  type
: object
                  properties
:
                    result
:
                      type
: string
                      description
: Patent title.
       
'400':
          description
: Invalid request body.
       
'500':
          description
: Internal server error.

Conservez les valeurs par défaut des autres configurations, puis cliquez sur "Enregistrer".

  1. Revenez à l'agent à ce stade, car nous voulons ajouter l'outil configuration dans les "Instructions" de l'agent. Ajoutez le code ci-dessous à l'espace réservé pour les instructions (n'oubliez pas que les retraits sont importants dans la définition du flux):
- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
    - If necessary, seek clarifying details.
- Use ${TOOL:Patent Search Tool} to help the user with their task.
- Return the response from the ${TOOL:Patent Search Tool} to the user in a well formed string.
- Thank the user for their business and say goodbye.

Assurez-vous que l'outil de recherche de brevets est sélectionnée dans la colonne "Outils disponibles" puis enregistrez l'agent à nouveau.

5. Tester l&#39;agent

Dans le volet de droite, vous devriez voir la section "Preview Agent" (Agent de prévisualisation), qui vous permet de tester votre agent.

Comme vous pouvez le voir dans la capture d'écran ci-dessous, j'ai accueilli l'appel d'un utilisateur et commencé ma discussion par une demande de type "Correspondance du brevet pour une idée de bracelet pour la forme au quotidien":

e4ffaa48b5c1f012.png

Voici la réponse JSON:

b0ee0af57ba63943.png

Il s'agit du résultat JSON brut de la fonction Cloud qui traite la recherche de similarité AlloyDB. Et voilà ! L'agent est maintenant prêt.

6. Déploiement et intégration

Une fois que vous êtes satisfait de votre agent, vous pouvez facilement le déployer sur différents canaux à l'aide des intégrations d'Agent Builder. Vous pouvez l'intégrer à votre site Web, l'intégrer à des plates-formes de messagerie populaires ou même créer une application mobile dédiée. Nous pouvons également utiliser l'API Agent Builder directement dans nos applications clientes Web, dont nous avons parlé sur ce blog.

7. Effectuer un nettoyage

Pour éviter que les ressources utilisées dans cet article soient facturées sur votre compte Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Gérer
  2. ressources.
  3. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  4. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

8. Félicitations

Félicitations ! En intégrant la puissance de notre moteur d'analyse personnalisé à l'interface intuitive d'Agent Builder, nous avons créé un assistant de recherche de littérature intelligent qui rend ces recherches accessibles, efficaces et véritablement basées sur le sens. En combinant les fonctionnalités d'AlloyDB, de Vertex AI et de Vector Search, nous avons fait un grand pas en avant en rendant les recherches contextuelles et vectorielles accessibles, efficaces, véritablement axées sur le sens et agentsic.