Logo Zéphyrnet

Les bases de connaissances pour Amazon Bedrock prennent désormais en charge la recherche hybride | Services Web Amazon

Date :

At AWS re: Invent 2023, nous avons annoncé la disponibilité générale de Bases de connaissances pour Amazon Bedrock. Avec une base de connaissances, vous pouvez connecter en toute sécurité des modèles de fondation (FM) dans Socle amazonien aux données de votre entreprise pour une génération augmentée de récupération (RAG) entièrement gérée.

Dans un post précédent, nous avons décrit comment les bases de connaissances pour Amazon Bedrock gèrent pour vous le flux de travail RAG de bout en bout et partagé des détails sur certains des lancements récents de fonctionnalités.

Pour les applications basées sur RAG, la précision de la réponse générée à partir des grands modèles de langage (LLM) dépend du contexte fourni au modèle. Le contexte est récupéré de la base de données vectorielles sur la base de la requête de l'utilisateur. La recherche sémantique est largement utilisée car elle est capable de comprendre des questions plus humaines : la requête d'un utilisateur n'est pas toujours directement liée aux mots-clés exacts du contenu qui y répond. La recherche sémantique permet de fournir des réponses basées sur le sens du texte. Cependant, il présente des limites dans la capture de tous les mots-clés pertinents. Sa performance repose sur la qualité des intégrations de mots utilisées pour représenter le sens du texte. Pour surmonter ces limitations, combiner la recherche sémantique avec la recherche par mots clés (hybride) donnera de meilleurs résultats.

Dans cet article, nous discutons de la nouvelle fonctionnalité de recherche hybride, que vous pouvez sélectionner comme option de requête parallèlement à la recherche sémantique.

Présentation de la recherche hybride

La recherche hybride tire parti des atouts de plusieurs algorithmes de recherche, intégrant leurs capacités uniques pour améliorer la pertinence des résultats de recherche renvoyés. Pour les applications basées sur RAG, les capacités de recherche sémantique sont généralement combinées avec la recherche traditionnelle basée sur des mots clés pour améliorer la pertinence des résultats de recherche. Il permet de rechercher à la fois le contenu des documents et leur signification sous-jacente. Par exemple, considérons la requête suivante :

What is the cost of the book "<book_name>" on <website_name>?

Dans cette requête portant sur le nom d'un livre et le nom d'un site Web, une recherche par mot clé donnera de meilleurs résultats, car nous voulons connaître le coût du livre spécifique. Cependant, le terme « coût » peut avoir des synonymes tels que « prix », il sera donc préférable d'utiliser la recherche sémantique, qui comprend le sens du texte. La recherche hybride apporte le meilleur des deux approches : précision de la recherche sémantique et couverture des mots-clés. Cela fonctionne très bien pour les applications basées sur RAG où le récupérateur doit gérer une grande variété de requêtes en langage naturel. Les mots-clés aident à couvrir des entités spécifiques de la requête, telles que le nom du produit, la couleur et le prix, tandis que la sémantique comprend mieux la signification et l'intention de la requête. Par exemple, si vous souhaitez créer un chatbot pour un site Web de commerce électronique afin de gérer les requêtes des clients telles que la politique de retour ou les détails du produit, l'utilisation de la recherche hybride sera la plus appropriée.

Cas d'utilisation de la recherche hybride

Voici quelques cas d’utilisation courants de la recherche hybride :

  • Réponse aux questions du domaine ouvert – Cela implique de répondre à des questions sur une grande variété de sujets. Cela nécessite de rechercher dans de vastes collections de documents au contenu diversifié, tels que les données de sites Web, qui peuvent inclure divers sujets tels que la durabilité, le leadership, les résultats financiers, etc. La recherche sémantique à elle seule ne peut pas généraliser correctement cette tâche, car elle ne dispose pas de la capacité de mise en correspondance lexicale d'entités invisibles, ce qui est important pour gérer des exemples hors domaine. Par conséquent, combiner la recherche basée sur des mots clés avec la recherche sémantique peut aider à affiner la portée et à fournir de meilleurs résultats pour les réponses aux questions de domaine ouvert.
  • Chatbots contextuels – Les conversations peuvent rapidement changer de direction et couvrir des sujets imprévisibles. La recherche hybride peut mieux gérer de telles boîtes de dialogue ouvertes.
  • Recherche personnalisée – La recherche à l’échelle du Web sur des contenus hétérogènes bénéficie d’une approche hybride. La recherche sémantique gère les requêtes principales les plus courantes, tandis que les mots-clés couvrent les requêtes rares à longue traîne.

Bien que la recherche hybride offre une couverture plus large en combinant deux approches, la recherche sémantique présente des avantages en termes de précision lorsque le domaine est étroit et la sémantique bien définie, ou lorsqu'il y a peu de place à une mauvaise interprétation, comme les systèmes de réponses aux questions factuelles.

Avantages de la recherche hybride

La recherche par mot-clé et la recherche sémantique renverront un ensemble distinct de résultats ainsi que leurs scores de pertinence, qui sont ensuite combinés pour renvoyer les résultats les plus pertinents. Les bases de connaissances pour Amazon Bedrock prennent actuellement en charge quatre magasins de vecteurs : Amazon OpenSearch sans serveur, Édition compatible Amazon Aurora PostgreSQL, Pineconeet Redis Entreprise Cloud. Au moment d'écrire ces lignes, la fonctionnalité de recherche hybride est disponible pour OpenSearch Serverless, avec une prise en charge d'autres magasins de vecteurs bientôt disponible.

Voici quelques-uns des avantages de l’utilisation de la recherche hybride :

  • Précision améliorée – La précision de la réponse générée par le FM dépend directement de la pertinence des résultats récupérés. Sur la base de vos données, il peut être difficile d'améliorer la précision de votre application uniquement en utilisant la recherche sémantique. Le principal avantage de l’utilisation de la recherche hybride est d’obtenir une meilleure qualité des résultats récupérés, ce qui aide le FM à générer des réponses plus précises.
  • Capacités de recherche étendues – La recherche par mots clés élargit le réseau et trouve des documents qui peuvent être pertinents mais qui peuvent ne pas contenir de structure sémantique dans l'ensemble du document. Il vous permet de rechercher des mots-clés ainsi que la signification sémantique du texte, élargissant ainsi les capacités de recherche.

Dans les sections suivantes, nous montrons comment utiliser la recherche hybride avec les bases de connaissances pour Amazon Bedrock.

Utiliser les options de recherche hybride et de recherche sémantique via le SDK

Lorsque vous appelez l'API Retrieve, les bases de connaissances pour Amazon Bedrock sélectionnent la stratégie de recherche appropriée pour vous fournir les résultats les plus pertinents. Vous avez la possibilité de le remplacer pour utiliser la recherche hybride ou sémantique dans l'API.

Récupérer l'API

L'API Retrieve est conçue pour récupérer des résultats de recherche pertinents en fournissant la requête de l'utilisateur, l'ID de la base de connaissances et le nombre de résultats que vous souhaitez que l'API renvoie. Cette API convertit les requêtes des utilisateurs en intégrations, effectue des recherches dans la base de connaissances à l'aide d'une recherche hybride ou d'une recherche sémantique (vecteur) et renvoie les résultats pertinents, vous donnant ainsi plus de contrôle pour créer des flux de travail personnalisés en plus des résultats de recherche. Par exemple, vous pouvez ajouter une logique de post-traitement aux résultats récupérés ou ajouter votre propre invite et vous connecter à n'importe quel FM fourni par Amazon Bedrock pour générer des réponses.

Pour vous montrer un exemple de basculement entre les options de recherche hybride et sémantique (vecteur), nous avons créé une base de connaissances utilisant l'outil Document Amazon 10K pour 2023. Pour plus de détails sur la création d'une base de connaissances, reportez-vous à Créez une application de chatbot contextuel à l'aide des bases de connaissances pour Amazon Bedrock.

Pour démontrer la valeur de la recherche hybride, nous utilisons la requête suivante :

As of December 31st 2023, what is the leased square footage for physical stores in North America?

La réponse à la requête précédente implique quelques mots-clés, tels que date, physical storeset North America. La bonne réponse est 22,871 thousand square feet. Observons la différence dans les résultats de recherche pour la recherche hybride et sémantique.

Le code suivant montre comment utiliser la recherche hybride ou sémantique (vecteur) à l'aide de l'API Retrieve avec Boto3 :

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

def retrieve(query, kbId, numberOfResults=5):
    return bedrock_agent_runtime.retrieve(
        retrievalQuery= {
            'text': query
        },
        knowledgeBaseId=kbId,
        retrievalConfiguration= {
            'vectorSearchConfiguration': {
                'numberOfResults': numberOfResults,
                'overrideSearchType': "HYBRID/SEMANTIC", # optional
            }
        }
    )
response = retrieve("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["retrievalResults"]

La overrideSearchType option retrievalConfiguration offre le choix d'utiliser soit HYBRID or SEMANTIC. Par défaut, il sélectionnera la bonne stratégie pour vous donner les résultats les plus pertinents, et si vous souhaitez remplacer l'option par défaut pour utiliser la recherche hybride ou sémantique, vous pouvez définir la valeur sur HYBRID/SEMANTIC. La sortie du Retrieve L'API inclut les morceaux de texte récupérés, le type d'emplacement et l'URI des données source, ainsi que les scores de pertinence des récupérations. Les scores aident à déterminer quels fragments correspondent le mieux à la réponse de la requête.

Voici les résultats de la requête précédente utilisant la recherche hybride (avec une partie du résultat rédigée par souci de concision) :

[
  {
    "content": {
      "text": "... Description of Use Leased Square Footage (1).... Physical stores (2) 22,871  ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions): December 31, 2021 2022 2023 North America $ 83,640 $ 90,076 $ 93,632 International 21,718 23,347 24,357 AWS 43,245 60,324 72,701 Corporate 1.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "..amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023. 54 Table of Contents Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well as server and networking equipment, aircraft, and vehicles. Gross assets acquired under finance leases, ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  }
]

Voici les résultats de la recherche sémantique (avec une partie des résultats rédigés par souci de concision) :

[
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions):    December 31,    2021 2022 2023   North America $ 83,640 $ 90,076 $ 93,632  International 21,718 23,347 24,357  AWS 43,245 60,324 72,701.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Depreciation and amortization expense on property and equipment was $22.9 billion, $24.9 billion, and $30.2 billion which includes amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023.   54        Table of Contents   Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well a..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  },
  {
    "content": {
      "text": "Incentives that we receive from property and equipment   vendors are recorded as a reduction to our costs. Property includes buildings and land that we own, along with property we have acquired under build-to-suit lease arrangements when we have control over the building during the construction period and finance lease arrangements..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61353767
  }
]

Comme vous pouvez le voir dans les résultats, la recherche hybride a pu récupérer le résultat de la recherche avec la superficie louée pour les magasins physiques en Amérique du Nord, comme mentionné dans la requête de l'utilisateur. La raison principale était que la recherche hybride était capable de combiner les résultats de mots-clés tels que date, physical storeset North America dans la requête, contrairement à la recherche sémantique. Par conséquent, lorsque les résultats de la recherche sont complétés par la requête de l'utilisateur et l'invite, le FM ne sera pas en mesure de fournir la réponse correcte en cas de recherche sémantique.

Voyons maintenant le RetrieveAndGenerate API avec recherche hybride pour comprendre la réponse finale générée par le FM.

API RécupérerEtGénérer

La RetrieveAndGenerate L'API interroge une base de connaissances et génère une réponse basée sur les résultats récupérés. Vous spécifiez l'ID de la base de connaissances ainsi que le FM pour générer une réponse à partir des résultats. Amazon Bedrock convertit les requêtes en intégrations, interroge la base de connaissances en fonction du type de recherche, puis augmente l'invite FM avec les résultats de la recherche sous forme d'informations contextuelles et renvoie la réponse générée par FM.

Utilisons la requête « Au 31 décembre 2023, quelle est la superficie louée pour les magasins physiques en Amérique du Nord ? » et demande au RetrieveAndGenerate API pour générer la réponse à l'aide de notre requête :

def retrieveAndGenerate(input, kbId):
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': input
        },
        retrieveAndGenerateConfiguration={
            'type': 'KNOWLEDGE_BASE',
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1'
                'retrievalConfiguration': {
                'overrideSearchType': 'HYBRID/SEMANTIC',
                }
                }
            }
        )
response = retrieveAndGenerate("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["output"]["text"]

Voici les résultats de la recherche hybride :

22,871 thousand leased square feet

Voici les résultats de la recherche sémantique :

The search results do not contain any information about the leased square footage for physical stores in North America for 2023.

La vraie réponse à la requête est 22,871 thousand leased square feet, qui est généré par la recherche hybride. Les résultats de recherche récupérés pour la recherche hybride incluaient des informations sur la superficie louée pour les magasins physiques en Amérique du Nord, tandis que la recherche sémantique n'a pas pu récupérer les bonnes informations du magasin vectoriel en raison de la traduction des intégrations. Par conséquent, le FM n'a pas pu fournir la réponse correcte car il ne disposait pas des résultats de recherche corrects et les plus pertinents.

Cependant, pour des questions plus génériques qui n'impliquent pas d'entités telles que physical stores or North America, les recherches hybrides et sémantiques donnent des résultats similaires.

Voici des exemples de réponses à quelques requêtes illustrant des cas où la recherche hybride et sémantique donne des résultats similaires.

Question Recherche sémantique : API RAG Recherche hybride : API RAG
Comment Amazon sert-il les développeurs et les entreprises ? Nous servons les développeurs et les entreprises de toutes tailles, y compris les start-ups, les agences gouvernementales et les établissements universitaires, via AWS, qui offre un large éventail de services technologiques à la demande, notamment le calcul, le stockage, les bases de données, l'analyse et l'apprentissage automatique, et autres services Nous servons les développeurs et les entreprises de toutes tailles, y compris les start-ups, les agences gouvernementales et les établissements universitaires, via AWS, qui offre un large éventail de services technologiques à la demande, notamment le calcul, le stockage, les bases de données, l'analyse et l'apprentissage automatique, et autres services.
Qui sont les dirigeants et administrateurs d'Amazon au 24 janvier 2024 ? Les dirigeants d'Amazon à partir de 2024 comprennent Andrew R. Jassy en tant que président et chef de la direction, Douglas J. Herrington en tant que PDG des magasins Amazon mondiaux, Brian T. Olsavsky en tant que vice-président principal et directeur financier, Shelley L. Reynolds en tant que vice-présidente. , contrôleur mondial et comptable principal, Adam N. Selipsky en tant que PDG d'Amazon Web Services, et David A. Zapolsky en tant que vice-président principal, politique publique mondiale et avocat général. Depuis 2024, Jeffrey P. Bezos est président exécutif d'Amazon.com. Andrew R. Jassy est président et chef de la direction. Les autres dirigeants comprennent Douglas J. Herrington en tant que PDG des magasins Amazon mondiaux, Brian T. Olsavsky en tant que vice-président principal et directeur financier, Shelley L. Reynolds en tant que vice-présidente, contrôleur mondial et comptable principal, et Adam N. Selipsky en tant que PDG. Services Web Amazon. David A. Zapolsky est vice-président principal, politique publique mondiale et avocat général.

Utilisez les options de recherche hybride et de recherche sémantique via la console Amazon Bedrock

Pour utiliser les options de recherche hybride et sémantique sur la console Amazon Bedrock, procédez comme suit :

  1. Sur la console Amazon Bedrock, choisissez Base de connaissances dans le volet de navigation.
  2. Choisissez la base de connaissances que vous avez créée.
  3. Selectionnez Tester la base de connaissances.
  4. Choisissez l'icône des configurations.
  5. Pour Type de recherchesélectionner Recherche hybride (sémantique et textuelle).

Par défaut, vous pouvez choisir un FM pour obtenir une réponse générée pour votre requête. Si vous souhaitez voir uniquement les résultats récupérés, vous pouvez basculer Générer une réponse désactivé pour obtenir uniquement les résultats récupérés.

Conclusion

Dans cet article, nous avons abordé la nouvelle fonctionnalité de requête dans les bases de connaissances pour Amazon Bedrock, qui permet la recherche hybride. Nous avons appris à configurer l'option de recherche hybride dans le SDK et la console Amazon Bedrock. Cela permet de surmonter certaines des limites liées à la seule recherche sémantique, en particulier pour la recherche dans de grandes collections de documents au contenu diversifié. L'utilisation de la recherche hybride dépend du type de document et du cas d'utilisation que vous essayez de mettre en œuvre.

Pour des ressources supplémentaires, reportez-vous à ce qui suit :

Bibliographie

Améliorer les performances de récupération dans les pipelines RAG avec la recherche hybride


À propos des auteurs

Mani Khanouja est responsable technique – Spécialistes de l'IA générative, auteur du livre Applied Machine Learning and High Performance Computing sur AWS, et membre du conseil d'administration de la Women in Manufacturing Education Foundation. Elle dirige des projets d'apprentissage automatique dans divers domaines tels que la vision par ordinateur, le traitement du langage naturel et l'IA générative. Elle prend la parole lors de conférences internes et externes telles qu'AWS re:Invent, Women in Manufacturing West, les webinaires YouTube et GHC 23. Pendant son temps libre, elle aime faire de longues courses le long de la plage.

Pallavi Nargund est architecte de solutions principal chez AWS. Dans son rôle de facilitateur de technologie cloud, elle travaille avec les clients pour comprendre leurs objectifs et leurs défis, et leur donne des conseils prescriptifs pour atteindre leur objectif avec les offres AWS. Elle est passionnée par les femmes dans la technologie et est un membre principal de Women in AI/ML chez Amazon. Elle intervient lors de conférences internes et externes telles qu'AWS re:Invent, AWS Summits et webinaires. En dehors de son travail, elle aime faire du bénévolat, du jardinage, du vélo et de la randonnée.

spot_img

Dernières informations

spot_img