Accéder au contenu principal Passer au contenu complémentaire

Effectuer des requêtes sur des collections Milvus à l'aide d'intégrations vectorielles

Le Job suivant présente comment vous connecter à une base de données vectorielle Milvus, insérer des intégrations produits et récupérer des produits similaires à l'aide de la recherche de similarités vectorielles.

Avant de commencer

Cr scénario utilise les fonctionnalités de la base de données vectorielle Milvus pour stocker et rechercher des intégrations vectorielles. Pour plus d'informations, consultez la documentation Milvus. Vous avez besoin d'un accès à une instance Milvus (locale ou Cloud) et d'un jeton d'authentification valide.

Relier les composants

Procédure

  1. Glissez-déposez les composants suivants depuis la Palette dans l'espace de modélisation graphique : un tPrejob, un tJava, un tMilvusConnection, un tFixedFlowInput, un tMilvusOutput, deux tLogRow, un tMilvusInput et un tLogRow.
  2. Reliez le tPrejob au tJava à l'aide d'un lien Trigger > On Component Ok.
  3. Reliez le tJava au tMilvusConnection à l'aide d'un lien Trigger > On Subjob Ok.
  4. Reliez le tFixedFlowInput au premier tLogRow à l'aide d'un lien Row > Main.
  5. Reliez le premier tLogRow au tMilvusOutput à l'aide d'un lien Row > FLOW.
  6. Reliez le tMilvusInput au second tLogRow à l'aide d'un lien Row > Main.
    Vue d'ensemble du Job dans le Studio, affichant les composants reliés.

Configurer les composants

Procédure

  1. Double-cliquez sur le composant tPrejob pour afficher sa vue Component.
    Ce composant est utilisé pour initialiser l'exécution du Job. Aucune configuration supplémentaire n'est nécessaire pour le composant dans ce scénario.
  2. Double-cliquez sur le composant tJava pour afficher sa vue Component.
    Dans la vue Basic settings, saisissez le code d'initialisation requis pour votre Job. Dans ce scénario, vous pouvez le laisser vide ou ajouter des instructions de log pour suivre l'exécution de votre Job. Exemple :
            java.util.List<Float> vector1 = new java.util.ArrayList(512);
            java.util.Random random = new java.util.Random();
            for (int i = 0; i < 512; i++) {
                vector1.add(random.nextFloat());
            }
            globalMap.put("vector1", vector1);
            
            
            java.util.List<Float> vector2 = new java.util.ArrayList(5);
            for (int i = 0; i < 5; i++) {
                vector2.add(random.nextFloat());
            }
            globalMap.put("vector2", vector2);
  3. Double-cliquez sur le composant tMilvusConnection pour afficher sa vue Component.
  4. Dans la vue Basic settings, configurez la connexion à votre instance Milvus.
    • Dans le champ Endpoint, saisissez l'URL de votre serveur Milvus, par exemple : http://localhost:19530 pour une instance locale ou votre endpoint Cloud.
    • Dans le champ Token, cliquez sur le bouton [...] et saisissez votre jeton d'authentification à Milvus.
    • Dans le champ Database, saisissez le nom de votre base de données.
  5. Double-cliquez sur le composant tFixedFlowInput pour afficher sa vue Component.
  6. Dans la vue Basic settings, configurez les données fixes à insérer dans Milvus.
    Cliquez sur Edit schema et définissez le schéma avec les colonnes suivantes :
    • id (Long)
    • bool (Boolean)
    • int8 (Integer)
    • int16 (Integer)
    • int32 (Integer)
    • int64 (Long)
    • _float (Float)
    • _double (Double)
    • varchar (String)
    • json (Object)
    • array_int (List)
    • array_str (List)
    • float_vector (List) - Tableau de valeurs Float représentant l'intégration
    Dans la zone Mode, sélectionnez Use Inlinle Table et cliquez sur le bouton [+] pour ajouter des enregistrements d'exemple avec les valeurs appropriées pour chaque colonne. Par exemple :
    id | 4L
    bool | false
    int8 | 2 
    int16 | 3
    int32 | 5
    int64 | 6L
    _float | 0.34f
    _double | 0.34567
    varchar | "dsfdsf"
    json | "{\"id\":5}"
    array_int | null
    array_str | null
    float_vector | (List)globalMap.get("vector1")
    Vue Basic settings du tFixedFlowInput affichant les données de configuration.
  7. Double-cliquez sur le composant tLogRow afin d'afficher sa vue Component.
    Cliquez sur Sync columns afin de récupérer le schéma du composant précédent.
    Dans la zone Mode, sélectionnez Table pour afficher dans la console les enregistrements insérés dans une table formatée.
  8. Double-cliquez sur le composant tMilvusOutput pour afficher sa vue Component.
  9. Dans sa vue Basic settings, configurez la collection et l'opération.
    • Cochez la case Use existing connection et sélectionnez le composant tMilvusConnection_1.
    • Cliquez sur Sync columns afin de récupérer le schéma du composant précédent.
    • Dans le champ Collection, sélectionnez ou saisissez le nom de votre collection.
    • Dans la liste Operation, sélectionnez Insert.
    Vue Basic settings de la configuration du tMilvusOutput affichant la collection et l'opération d'insertion.
  10. Double-cliquez sur le composant tMilvusInput pour afficher sa vue Component.
  11. Dans sa vue Basic settings, configurez l'opération de recherche.
    • Cochez la case Use existing connection et sélectionnez le composant tMilvusConnection_1.
    • Cliquez sur Edit schema et définissez le schéma de sortie correspondant à la structure de la collection, par exemple :
      • id (Long)
      • vector (List)
    • Dans le champ Collection, sélectionnez ou saisissez le nom de la collection contenant l'intégration vectorielle.
    • Dans la liste Operation, sélectionnez SEARCH.
    • Dans le champ Query vector, saisissez la variable globale précédemment créée comme vecteur de requête, par exemple : (List)globalMap.get("vector2")
    • Laissez le champ Filter vide pour rechercher tous les enregistrements.
    • Dans le champ Limit, saisissez 5 pour récupérer les cinq enregistrements les plus similaires.
    Vue Basic settings de la configuration du tMilvusInput affichant l'opération de recherche avec un vecteur de requête.
  12. Dans la vue Advanced settings du tMilvusInput, cochez la case Load collection into memory pour assurer des performances optimales de recherche.
  13. Double-cliquez sur le second composant tLogRow afin d'afficher sa vue Component.
    Cliquez sur Sync columns afin de récupérer le schéma du composant précédent.
    Dans la zone Mode, sélectionnez Table pour afficher dans la console les résultats de recherche, dans une table formatée.

Exécuter le Job

Procédure

  1. Appuyez sur les touches Ctrl + S pour sauvegarder votre Job.
  2. Appuyez sur F6 pour l’exécuter.

Résultats

Le Job se connecte à la base de données Milvus, insère les enregistrements de données fixes dans la collection et les affiche dans la console, puis effectue une recherche de similarité vectorielle à l'aide du vecteur de requête spécifié et affiche les cinq enregistrements les plus similaires. Ce scénario présente le workflow complet de stockage et récupération d'intégrations vectorielles dans Milvus.

Console de la vue Run affichant l'insertion et la récupération réussies des produits similaires en fonction de la similarité vectorielle.

Cette page vous a-t-elle aidé ?

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.