Récupération de passages - Amazon Kendra

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Récupération de passages

Vous pouvez utiliser l'RetrieveAPI en tant que récupérateur pour les systèmes de génération augmentée (RAG).

Les systèmes RAG utilisent l'intelligence artificielle générative pour créer des applications de réponse aux questions. Les systèmes RAG se composent d'un récupérateur et de grands modèles linguistiques (LLM). À la suite d'une requête, le récupérateur identifie les parties de texte les plus pertinentes d'un corpus de documents et les transmet au LLM pour fournir la réponse la plus utile. Ensuite, le LLM analyse les fragments ou passages de texte pertinents et génère une réponse complète à la requête.

L'RetrieveAPI examine les fragments de texte ou les extraits appelés passages et renvoie les premiers passages les plus pertinents pour la requête.

Tout comme l'QueryAPI, l'RetrieveAPI recherche également des informations pertinentes à l'aide de la recherche sémantique. La recherche sémantique prend en compte le contexte de la requête de recherche, ainsi que toutes les informations disponibles dans les documents indexés. Toutefois, par défaut, l'QueryAPI renvoie uniquement des extraits contenant jusqu'à 100 mots symboliques. Avec l'RetrieveAPI, vous pouvez récupérer des passages plus longs contenant jusqu'à 200 mots symboliques et jusqu'à 100 passages pertinents du point de vue sémantique. Cela n'inclut pas les réponses de type question-réponse ou FAQ de votre index. Les passages sont des extraits de texte qui peuvent être extraits sémantiquement de plusieurs documents et de plusieurs parties d'un même document. Si, dans des cas extrêmes, vos documents ne produisent aucun passage à l'aide de l'RetrieveAPI, vous pouvez également utiliser l'QueryAPI et ses types de réponses.

Vous pouvez également effectuer les opérations suivantes avec l'RetrieveAPI :

  • Annuler le boost au niveau de l'indice

  • Filtrer en fonction des champs ou des attributs du document

  • Filtrer en fonction de l'accès de l'utilisateur ou de son groupe aux documents

  • Consultez le compartiment des scores de confiance pour obtenir un résultat de passage récupéré. Le bucket de confiance fournit un classement relatif qui indique dans quelle mesure la réponse est pertinente par rapport à la requête. Amazon Kendra

    Note

    Les buckets de scores de confiance ne sont actuellement disponibles qu'en anglais.

Vous pouvez également inclure dans la réponse certains champs susceptibles de fournir des informations supplémentaires utiles.

L'RetrieveAPI ne prend actuellement pas en charge toutes les fonctionnalités prises en charge par l'QueryAPI. Les fonctionnalités suivantes ne sont pas prises en charge : les requêtes utilisant une syntaxe de requête avancée, les corrections orthographiques suggérées pour les requêtes, le facettage, lessuggestions de requêtes pour compléter automatiquement les requêtes de recherche et l'apprentissage progressif. Notez que toutes les fonctionnalités ne s'appliquent pas à l'RetrieveAPI. Toutes les futures versions de l'RetrieveAPI seront documentées dans ce guide.

L'RetrieveAPI partage le nombre d'unités de capacité de requête que vous définissez pour votre index. Pour plus d'informations sur ce qui est inclus dans une unité de capacité unique et sur la capacité de base par défaut d'un indice, consultez la section Ajustement de la capacité.

Note

Vous ne pouvez pas ajouter de capacité si vous utilisez l'édition Amazon Kendra Developer ; vous ne pouvez ajouter de la capacité que si vous utilisez l'édition Amazon Kendra Enterprise. Pour plus d'informations sur ce qui est inclus dans les éditions Developer et Enterprise, consultez la section Amazon Kendra Éditions.

Voici un exemple d'utilisation de l'RetrieveAPI pour récupérer les 100 passages les plus pertinents des documents dans un index pour la requête. "how does amazon kendra work?"

Python
import boto3 import pprint kendra = boto3.client("kendra") # Provide the index ID index_id = "index-id" # Provide the query text query = "how does amazon kendra work?" # You can retrieve up to 100 relevant passages # You can paginate 100 passages across 10 pages, for example page_size = 10 page_number = 10 result = kendra.retrieve( IndexId = index_id, QueryText = query, PageSize = page_size, PageNumber = page_number) print("\nRetrieved passage results for query: " + query + "\n") for retrieve_result in result["ResultItems"]: print("-------------------") print("Title: " + str(retrieve_result["DocumentTitle"])) print("URI: " + str(retrieve_result["DocumentURI"])) print("Passage content: " + str(retrieve_result["Content"])) print("------------------\n\n")
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.RetrieveRequest; import software.amazon.awssdk.services.kendra.model.RetrieveResult; import software.amazon.awssdk.services.kendra.model.RetrieveResultItem; public class RetrievePassageExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String indxId = "index-id"; String query = "how does amazon kendra work?"; Integer pgSize = 10; Integer pgNumber = 10; RetrieveRequest retrieveRequest = retrieveRequest .builder() .indexId(indxId) .queryText(query) .pageSize(pgSize) .pageNumber(pgNumber) .build(); RetrieveResult retrieveResult = kendra.retrieve(retrieveRequest); System.out.println(String.format("\nRetrieved passage results for query: %s", query)); for(RetrieveResultItem item: retrieveResult.resultItems()) { System.out.println("----------------------"); System.out.println(String.format("Title: %s", documentTitle)); System.out.println(String.format("URI: %s", documentURI)); System.out.println(String.format("Passage content: %s", content)); System.out.println("-----------------------\n"); } } }