Configuration et personnalisation des requêtes et de la génération de réponses - Amazon Bedrock

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.

Configuration et personnalisation des requêtes et de la génération de réponses

Vous pouvez configurer et personnaliser la récupération et la génération de réponses, afin d'améliorer encore la pertinence des réponses. Par exemple, vous pouvez appliquer des filtres aux champs/attributs des métadonnées des documents afin d'utiliser les documents les plus récemment mis à jour ou les documents présentant des dates de modification récentes.

Note

Toutes les configurations suivantes, à l'exception de l'orchestration et de la génération, ne s'appliquent qu'aux sources de données non structurées.

Pour en savoir plus sur ces configurations dans la console ou dans leAPI, sélectionnez l'une des rubriques suivantes.

Rubriques

    Récupérer à partir d'un index Amazon Kendra GenAI

    Vous pouvez interroger une base de connaissances qui utilise un index Amazon Kendra GenAI et renvoyer uniquement le texte pertinent provenant de sources de données. Pour cette requête, envoyez un Retrievedemande auprès d'un point de terminaison Agents for Amazon Bedrock, par exemple avec une base de connaissances standard.

    La structure d'une réponse renvoyée par une base de connaissances avec un index Amazon Kendra GenAI est identique à celle d'une norme. KnowledgeBaseRetrievalResult Cependant, la réponse inclut également quelques champs supplémentaires provenant d'Amazon Kendra.

    Le tableau suivant décrit les champs d'Amazon Kendra que vous pourriez voir dans une réponse renvoyée. Amazon Bedrock obtient ces champs à partir de la réponse d'Amazon Kendra. Si cette réponse ne contient pas ces champs, le résultat de la requête renvoyé par Amazon Bedrock ne contiendra pas non plus ces champs.

    Champ Description

    x-amz-kendra-document-titre

    Titre du document renvoyé.

    x-amz-kendra-score-confiance

    Un classement relatif de la pertinence de la réponse par rapport à la requête. Les valeurs possibles sont VERY _ HIGH HIGHMEDIUM,LOW, et NOT _AVAILABLE.

    x-amz-kendra-passage-identifiant

    L'ID du passage renvoyé.

    x-amz-kendra-document-identifiant

    L'ID du document renvoyé.

    DocumentAttributes

    Attributs de documents ou champs de métadonnées provenant d'Amazon Kendra. Le résultat de la requête renvoyé par la base de connaissances les stocke sous forme de paires clé-valeur de métadonnées. Vous pouvez filtrer les résultats à l'aide du filtrage des métadonnées d'Amazon Bedrock. Pour de plus amples informations, veuillez consulter DocumentAttribute.

    Le type de recherche définit la manière dont les sources de données de la base de connaissances sont interrogées. Les types de recherche suivants sont possibles :

    • Par défaut : Amazon Bedrock décide de la stratégie de recherche qui vous convient.

    • Hybride : combine la recherche d'intégrations vectorielles (recherche sémantique) avec la recherche dans le texte brut. La recherche hybride n'est actuellement prise en charge que pour les boutiques vectorielles Amazon OpenSearch Serverless qui contiennent un champ de texte filtrable. Si vous utilisez une autre boutique vectorielle ou si votre boutique vectorielle Amazon OpenSearch Serverless ne contient pas de champ de texte filtrable, la requête utilise la recherche sémantique.

    • Sémantique — Recherche uniquement les intégrations vectorielles.

    Pour savoir comment définir le type de recherche, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Suivez les étapes de la console à l'adresseTestez votre base de connaissances à l'aide de requêtes et de réponses. Lorsque vous ouvrez le volet Configurations, les options suivantes s'affichent pour le type de recherche :

    • Par défaut : Amazon Bedrock décide de la stratégie de recherche la mieux adaptée à la configuration de votre boutique vectorielle.

    • Hybride — Amazon Bedrock interroge la base de connaissances en utilisant à la fois les intégrations vectorielles et le texte brut. Cette option n'est disponible que si vous utilisez une boutique vectorielle Amazon OpenSearch Serverless configurée avec un champ de texte filtrable.

    • Sémantique — Amazon Bedrock interroge la base de connaissances à l'aide de ses intégrations vectorielles.

    API

    Lorsque vous créez un Retrieve ou RetrieveAndGeneratedemande, inclure un retrievalConfiguration champ, mappé à un KnowledgeBaseRetrievalConfigurationobjet. Pour connaître l'emplacement de ce champ, reportez-vous au Retrieve et RetrieveAndGeneratecorps de requête dans la API référence.

    L'JSONobjet suivant indique les champs minimaux requis dans l'KnowledgeBaseRetrievalConfigurationobjet pour définir les configurations de type de recherche :

    "retrievalConfiguration": { "vectorSearchConfiguration": { "overrideSearchType": "HYBRID | SEMANTIC" } }

    Spécifiez le type de recherche dans le overrideSearchType champ. Vous avez les options suivantes :

    • Si vous ne spécifiez aucune valeur, Amazon Bedrock choisit la stratégie de recherche la mieux adaptée à la configuration de votre boutique vectorielle.

    • HYBRID— Amazon Bedrock interroge la base de connaissances en utilisant à la fois les intégrations vectorielles et le texte brut. Cette option n'est disponible que si vous utilisez une boutique vectorielle Amazon OpenSearch Serverless configurée avec un champ de texte filtrable.

    • SEMANTIC— Amazon Bedrock interroge la base de connaissances à l'aide de ses intégrations vectorielles.

    La décomposition des requêtes est une technique utilisée pour décomposer une requête complexe en sous-requêtes plus petites et plus faciles à gérer. Cette approche peut aider à obtenir des informations plus précises et pertinentes, en particulier lorsque la requête initiale comporte plusieurs facettes ou est trop large. L'activation de cette option peut entraîner l'exécution de plusieurs requêtes dans votre base de connaissances, ce qui peut contribuer à une réponse finale plus précise.

    Par exemple, pour une question du type « Qui a obtenu le meilleur score lors de la Coupe FIFA du monde 2022, l'Argentine ou la France ? » , les bases de connaissances Amazon Bedrock peuvent d'abord générer les sous-requêtes suivantes, avant de générer une réponse finale :

    1. Combien de buts l'Argentine a-t-elle marqués lors de la finale de la Coupe FIFA du monde 2022 ?

    2. Combien de buts la France a-t-elle marqués lors de la finale de la Coupe FIFA du monde 2022 ?

    Console
    1. Créez et synchronisez une source de données ou utilisez une base de connaissances existante.

    2. Accédez à la fenêtre de test et ouvrez le panneau de configuration.

    3. Activez la reformulation des requêtes.

    API
    POST /retrieveAndGenerate HTTP/1.1 Content-type: application/json { "input": { "text": "string" }, "retrieveAndGenerateConfiguration": { "knowledgeBaseConfiguration": { "orchestrationConfiguration": { // Query decomposition "queryTransformationConfiguration": { "type": "string" // enum of QUERY_DECOMPOSITION } }, ...} }

    Lorsque vous générez des réponses basées sur la récupération d'informations, vous pouvez utiliser des paramètres d'inférence pour mieux contrôler le comportement du modèle pendant l'inférence et influencer les sorties du modèle.

    Pour savoir comment modifier les paramètres d'inférence, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Pour modifier les paramètres d'inférence lorsque vous interrogez une base de connaissances, suivez les étapes de la console sur. Testez votre base de connaissances à l'aide de requêtes et de réponses Lorsque vous ouvrez le volet Configurations, vous verrez une section sur les paramètres d'inférence. Modifiez les paramètres selon vos besoins.

    Pour modifier les paramètres d'inférence lorsque vous discutez avec votre document, suivez les étapes décrites dansDiscutez avec votre document sans configuration de base de connaissances. Dans le volet Configurations, développez la section Paramètres d'inférence et modifiez les paramètres si nécessaire.

    API

    Vous fournissez les paramètres du modèle lors de l'appel au RetrieveAndGenerateAPI. Vous pouvez personnaliser le modèle en fournissant des paramètres d'inférence dans le inferenceConfig champ du knowledgeBaseConfiguration (si vous interrogez une base de connaissances) ou du externalSourcesConfiguration (si vous discutez avec votre document).

    Le inferenceConfig champ contient un textInferenceConfig champ qui contient les paramètres suivants que vous pouvez :

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    Vous pouvez personnaliser le modèle en utilisant les paramètres suivants dans le inferenceConfig champ des deux externalSourcesConfiguration et knowledgeBaseConfiguration :

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    Pour une explication détaillée de la fonction de chacun de ces paramètres, voirInfluencez la génération de réponses avec des paramètres d'inférence.

    En outre, vous pouvez fournir des paramètres personnalisés non pris en charge textInferenceConfig par la additionalModelRequestFields carte. Vous pouvez fournir des paramètres propres à des modèles spécifiques avec cet argument. Pour les paramètres uniques, voirParamètres de demande d'inférence et champs de réponse pour les modèles de base.

    Si un paramètre est omistextInferenceConfig, une valeur par défaut sera utilisée. Tout paramètre non reconnu dans textInferneceConfig sera ignoré, tandis que tout paramètre non reconnu dans AdditionalModelRequestFields provoquera une exception.

    Une exception de validation est émise s'il existe le même paramètre dans additionalModelRequestFields les deuxTextInferenceConfig.

    Utilisation des paramètres du modèle dans RetrieveAndGenerate

    Voici un exemple de structure pour inferenceConfig et additionalModelRequestFields sous le corps generationConfiguration de la RetrieveAndGenerate demande :

    "inferenceConfig": { "textInferenceConfig": { "temperature": 0.5, "topP": 0.5, "maxTokens": 2048, "stopSequences": ["\nObservation"] } }, "additionalModelRequestFields": { "top_k": 50 }

    L'exemple suivant définit une valeur temperature de 0,5, top_p de 0,5 ou maxTokens de 2048, arrête la génération s'il rencontre la chaîne « \ nObservation » dans la réponse générée et transmet une top_k valeur personnalisée de 50.

    Lorsque vous interrogez une base de connaissances, Amazon Bedrock renvoie par défaut jusqu'à cinq résultats dans la réponse. Chaque résultat correspond à un segment source.

    Pour modifier le nombre maximum de résultats à renvoyer, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Suivez les étapes de la console à l'adresseTestez votre base de connaissances à l'aide de requêtes et de réponses. Dans le volet Configurations, développez le nombre maximal de résultats récupérés.

    API

    Lorsque vous créez un Retrieve ou RetrieveAndGeneratedemande, inclure un retrievalConfiguration champ, mappé à un KnowledgeBaseRetrievalConfigurationobjet. Pour connaître l'emplacement de ce champ, reportez-vous au Retrieve et RetrieveAndGeneratecorps de requête dans la API référence.

    L'JSONobjet suivant indique les champs minimaux requis dans l'KnowledgeBaseRetrievalConfigurationobjet pour définir le nombre maximal de résultats à renvoyer :

    "retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": number } }

    Spécifiez le nombre maximum de résultats extraits (voir le numberOfResults champ KnowledgeBaseRetrievalConfigurationpour connaître la plage de valeurs acceptées) à renvoyer dans le numberOfResults champ.

    Vous pouvez appliquer des filtres au document fields/attributes to help you further improve the relevancy of responses. Your data sources can include document metadata attributes/fields à filtrer et spécifier les champs à inclure dans les intégrations. Par exemple, le document « epoch_modification_time » ou le nombre de secondes écoulées depuis le 1er janvier 1970 pour la dernière mise à jour du document. Vous pouvez filtrer en fonction des données les plus récentes, pour lesquelles « epoch_modification_time » est supérieur à un certain nombre. Ces documents les plus récents peuvent être utilisés pour la requête.

    Pour utiliser des filtres lorsque vous interrogez une base de connaissances, vérifiez que celle-ci répond aux exigences suivantes :

    • Lorsque vous configurez votre connecteur de source de données, la plupart des connecteurs explorent les principaux champs de métadonnées de vos documents. Si vous utilisez un compartiment Amazon S3 comme source de données, le compartiment doit en inclure au moins un fileName.extension.metadata.json pour le fichier ou le document auquel il est associé. Consultez la section Champs de métadonnées du document dans Configuration de connexion pour plus d'informations sur la configuration du fichier de métadonnées.

    • Si l'index vectoriel de votre base de connaissances se trouve dans un magasin de vecteurs Amazon OpenSearch Serverless, vérifiez que l'index vectoriel est configuré avec le faiss moteur. Si l'index vectoriel est configuré avec le nmslib moteur, vous devrez effectuer l'une des opérations suivantes :

    • Si vous ajoutez des métadonnées à un index vectoriel existant dans un cluster de bases de données Amazon Aurora, vous devez ajouter une colonne au tableau pour chaque attribut de métadonnées de vos fichiers de métadonnées avant de commencer l'ingestion. Les valeurs des attributs de métadonnées seront écrites dans ces colonnes.

    Si votre source de données PDF contient des documents et que vous utilisez Amazon OpenSearch Serverless pour votre boutique vectorielle : les bases de connaissances Amazon Bedrock génèrent des numéros de page de documents et les stockent dans un champ/attribut de métadonnées appelé -. x-amz-bedrock-kb document-page-number Notez que les numéros de page enregistrés dans un champ de métadonnées ne sont pas pris en charge si vous choisissez de ne pas segmenter vos documents.

    Vous pouvez utiliser les opérateurs de filtrage suivants pour filtrer les résultats lorsque vous effectuez une requête :

    Opérateurs de filtrage
    Opérateur Console APInom du filtre Types de données d'attributs pris en charge Résultats filtrés
    Égal à = equals chaîne, nombre, booléen L'attribut correspond à la valeur que vous fournissez
    Pas égal != notEquals chaîne, nombre, booléen L'attribut ne correspond pas à la valeur que vous avez fournie
    Supérieure à > greaterThan nombre L'attribut est supérieur à la valeur que vous fournissez
    Supérieur ou égal >= greaterThanOrÉgal nombre L'attribut est supérieur ou égal à la valeur que vous fournissez
    Inférieur à < lessThan nombre L'attribut est inférieur à la valeur que vous fournissez
    Inférieur ou égal <= lessThanOrÉgal nombre L'attribut est inférieur ou égal à la valeur que vous fournissez
    Entrée : dans liste de chaînes L'attribut figure dans la liste que vous fournissez (actuellement, il est préférable de le prendre en charge avec les boutiques vectorielles Amazon OpenSearch Serverless)
    Pas dans !: notIn liste de chaînes L'attribut ne figure pas dans la liste que vous fournissez (actuellement, il est préférable de le prendre en charge avec les boutiques vectorielles Amazon OpenSearch Serverless)
    Starts with ^ startsWith chaîne L'attribut commence par la chaîne que vous fournissez (actuellement, il est préférable de le prendre en charge avec les boutiques vectorielles Amazon OpenSearch Serverless)

    Pour combiner les opérateurs de filtrage, vous pouvez utiliser les opérateurs logiques suivants :

    Opérateurs logiques
    Opérateur Console APInom du champ de filtre Résultats filtrés
    And and andAll Les résultats répondent à toutes les expressions de filtrage du groupe
    Ou or orAll Les résultats répondent à au moins une des expressions de filtrage du groupe

    Pour savoir comment filtrer les résultats à l'aide de métadonnées, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Suivez les étapes de la console à l'adresseTestez votre base de connaissances à l'aide de requêtes et de réponses. Lorsque vous ouvrez le volet Configurations, vous verrez une section Filtres. Les procédures suivantes décrivent différents cas d'utilisation :

    • Pour ajouter un filtre, créez une expression de filtrage en saisissant un attribut de métadonnées, un opérateur de filtrage et une valeur dans le champ. Séparez chaque partie de l'expression par un espace. Appuyez sur Entrée pour ajouter le filtre.

      Pour obtenir la liste des opérateurs de filtrage acceptés, consultez le tableau des opérateurs de filtrage ci-dessus. Vous pouvez également voir une liste d'opérateurs de filtrage lorsque vous ajoutez un espace après l'attribut de métadonnées.

      Note

      Vous devez placer les chaînes entre guillemets.

      Par exemple, vous pouvez filtrer les résultats des documents source contenant un attribut de genre métadonnées dont la valeur est "entertainment" en ajoutant le filtre suivant :genre = "entertainment".

      Ajoutez un filtre.
    • Pour ajouter un autre filtre, entrez une autre expression de filtrage dans le champ et appuyez sur Entrée. Vous pouvez ajouter jusqu'à 5 filtres dans le groupe.

      Ajoutez un autre filtre.
    • Par défaut, la requête renvoie des résultats qui répondent à toutes les expressions de filtrage que vous fournissez. Pour renvoyer des résultats qui répondent à au moins une des expressions de filtrage, choisissez le menu déroulant et entre deux opérations de filtrage, puis sélectionnez ou.

      Modifiez le fonctionnement logique entre les filtres.
    • Pour combiner différents opérateurs logiques, sélectionnez + Ajouter un groupe pour ajouter un groupe de filtres. Entrez les expressions de filtrage dans le nouveau groupe. Vous pouvez ajouter jusqu'à 5 groupes de filtres.

      Ajoutez un groupe de filtres pour combiner différents opérateurs logiques.
    • Pour modifier l'opérateur logique utilisé entre tous les groupes de filtrage, choisissez le menu ANDdéroulant entre deux groupes de filtres et sélectionnez OU.

      Modifiez le fonctionnement logique entre les groupes de filtres.
    • Pour modifier un filtre, sélectionnez-le, modifiez l'opération de filtrage, puis choisissez Appliquer.

      Modifiez un filtre.
    • Pour supprimer un groupe de filtres, cliquez sur l'icône de corbeille ( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. ) à côté du groupe. Pour supprimer un filtre, cliquez sur l'icône de suppression ( Close or cancel icon represented by an "X" symbol. ) à côté du filtre.

      Supprimez un filtre ou un groupe de filtres.

    L'image suivante montre un exemple de configuration de filtre qui renvoie tous les documents écrits selon 2018 le genre"entertainment", en plus des documents dont le genre est "cooking" ou "sports" et dont l'auteur commence par"C".

    Exemple de configuration de filtre.
    API

    Lorsque vous créez un Retrieve ou RetrieveAndGeneratedemande, inclure un retrievalConfiguration champ, mappé à un KnowledgeBaseRetrievalConfigurationobjet. Pour connaître l'emplacement de ce champ, reportez-vous au Retrieve et RetrieveAndGeneratecorps de requête dans la API référence.

    Les JSON objets suivants indiquent les champs minimaux requis dans l'KnowledgeBaseRetrievalConfigurationobjet pour définir des filtres pour différents cas d'utilisation :

    1. Utilisez un seul opérateur de filtrage (voir le tableau des opérateurs de filtrage ci-dessus).

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } } } }
    2. Utilisez un opérateur logique (voir le tableau des opérateurs logiques ci-dessus) pour combiner jusqu'à 5.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] } } }
    3. Utilisez un opérateur logique pour combiner jusqu'à 5 opérateurs de filtrage dans un groupe de filtres, et un deuxième opérateur logique pour combiner ce groupe de filtres avec un autre opérateur de filtrage.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } ] } } }
    4. Combinez jusqu'à 5 groupes de filtres en les incorporant dans un autre opérateur logique. Vous pouvez créer un niveau d'intégration.

      "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] ] } } }

    Le tableau suivant décrit les types de filtres que vous pouvez utiliser :

    Champ Types de données de valeur pris en charge Résultats filtrés
    equals chaîne, nombre, booléen L'attribut correspond à la valeur que vous fournissez
    notEquals chaîne, nombre, booléen L'attribut ne correspond pas à la valeur que vous avez fournie
    greaterThan nombre L'attribut est supérieur à la valeur que vous fournissez
    greaterThanOrEquals nombre L'attribut est supérieur ou égal à la valeur que vous fournissez
    lessThan nombre L'attribut est inférieur à la valeur que vous fournissez
    lessThanOrEquals nombre L'attribut est inférieur ou égal à la valeur que vous fournissez
    in liste de chaînes L'attribut se trouve dans la liste que vous fournissez
    notIn liste de chaînes L'attribut ne figure pas dans la liste que vous fournissez
    startsWith chaîne L'attribut commence par la chaîne que vous fournissez (uniquement pris en charge pour les boutiques vectorielles Amazon OpenSearch Serverless)

    Pour combiner les types de filtres, vous pouvez utiliser l'un des opérateurs logiques suivants :

    Champ Cartes pour Résultats filtrés
    andAll Liste de 5 types de filtres au maximum Les résultats répondent à toutes les expressions de filtrage du groupe
    orAll Liste de 5 types de filtres au maximum Les résultats répondent à au moins une des expressions de filtrage du groupe

    Pour des exemples, voir Envoyer une requête et inclure des filtres (Retrieve) et Envoyer une requête et inclure des filtres (RetrieveAndGenerate).

    La base de connaissances Amazon Bedrock génère et applique un filtre de récupération basé sur la requête de l'utilisateur et un schéma de métadonnées.

    Note

    La fonctionnalité ne fonctionne actuellement qu'avec Anthropic Claude 3.5 Sonnet.

    Le implicitFilterConfiguration est spécifié dans vectorSearchConfiguration le Retrievecorps de la demande. Incluez les champs suivants :

    • metadataAttributes— Dans ce tableau, fournissez des schémas décrivant les attributs de métadonnées pour lesquels le modèle générera un filtre.

    • modelArn— Le ARN modèle à utiliser.

    Vous trouverez ci-dessous un exemple de schémas de métadonnées que vous pouvez ajouter au metadataAttributes tableau.

    [ { "key": "company", "type": "STRING", "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc" }, { "key": "ticker", "type": "STRING", "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL" }, { "key": "pe_ratio", "type": "NUMBER", "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper." }, { "key": "is_us_company", "type": "BOOLEAN", "description": "Indicates whether the company is a US company." }, { "key": "tags", "type": "STRING_LIST", "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc" } ]

    Lorsque vous interrogez une base de connaissances et que vous demandez la génération de réponses, Amazon Bedrock utilise un modèle d'invite qui combine les instructions et le contexte avec la requête de l'utilisateur afin de créer l'invite de génération envoyée au modèle pour générer une réponse. Vous pouvez également personnaliser l'invite d'orchestration, qui transforme l'invite de l'utilisateur en requête de recherche. Vous pouvez créer les modèles d'invite à l'aide des outils suivants :

    • Espaces réservés rapides : variables prédéfinies dans les bases de connaissances Amazon Bedrock qui sont renseignées dynamiquement lors de l'exécution lors de la requête de la base de connaissances. Dans l'invite du système, vous verrez ces espaces réservés entourés du $ symbole. La liste suivante décrit les espaces réservés que vous pouvez utiliser :

      Variable Modèle d'invite Remplacé par Modèle Obligatoire ?
      $requête$ Orchestration, génération La requête de l'utilisateur envoyée à la base de connaissances. Anthropic Claude Instant, Anthropic Claude v2.x Oui
      Anthropic Claude 3 Sonnet Non (inclus automatiquement dans la saisie du modèle)
      $search_results$ Génération Les résultats récupérés pour la requête de l'utilisateur. Tous Oui
      $output_format_instructions$ Orchestration Instructions sous-jacentes pour le formatage de la génération de réponses et des citations. Diffère selon le modèle. Si vous définissez vos propres instructions de mise en forme, nous vous suggérons de supprimer cet espace réservé. Sans cet espace réservé, la réponse ne contiendra pas de citations. Tous Non
      $heure_actuelle$ Orchestration, génération L'heure actuelle. Tous Non
    • XMLbalises — Anthropic les modèles prennent en charge l'utilisation de XML balises pour structurer et délimiter vos invites. Utilisez des noms de balises descriptifs pour des résultats optimaux. Par exemple, dans l'invite système par défaut, vous verrez la <database> balise utilisée pour délimiter une base de données de questions précédemment posées). Pour plus d'informations, voir Utiliser des XML balises dans le Anthropic guide de l'utilisateur.

    Pour les directives générales d'ingénierie rapide, voir Concepts d'ingénierie rapides.

    Choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Suivez les étapes de la console à l'adresseTestez votre base de connaissances à l'aide de requêtes et de réponses. Dans la fenêtre de test, activez l'option Générer des réponses. Ensuite, dans le volet Configurations, développez la section du modèle d'invite de la base de connaissances.

    1. Choisissez Modifier.

    2. Modifiez l'invite du système dans l'éditeur de texte, y compris les espaces réservés et les XML balises d'invite si nécessaire. Pour revenir au modèle d'invite par défaut, choisissez Rétablir les paramètres par défaut.

    3. Lorsque vous avez terminé les modifications, choisissez Save changes (Enregistrer les modifications). Pour quitter sans enregistrer l'invite du système, choisissez Ignorer les modifications.

    API

    Lorsque vous créez un RetrieveAndGeneratedemande, inclure un generationConfiguration champ, mappé à un GenerationConfigurationobjet. Pour connaître l'emplacement de ce champ, reportez-vous au RetrieveAndGeneratecorps de la demande dans la API référence.

    L'JSONobjet suivant indique les champs minimaux requis dans l'GenerationConfigurationobjet pour définir le nombre maximal de résultats extraits à renvoyer :

    "generationConfiguration": { "promptTemplate": { "textPromptTemplate": "string" } }

    Entrez votre modèle d'invite personnalisé dans le textPromptTemplate champ, y compris les espaces réservés et les XML balises d'invite si nécessaire. Pour connaître le nombre maximal de caractères autorisés dans l'invite du système, consultez le textPromptTemplate champ dans GenerationConfiguration.

    Vous pouvez mettre en œuvre des mesures de protection pour votre base de connaissances pour vos cas d'utilisation et des politiques responsables en matière d'IA. Vous pouvez créer plusieurs garde-fous adaptés à différents cas d'utilisation et les appliquer à de multiples conditions de demande et de réponse, afin de fournir une expérience utilisateur cohérente et de standardiser les contrôles de sécurité dans votre base de connaissances. Vous pouvez configurer les sujets refusés pour interdire les sujets indésirables et les filtres de contenu pour bloquer le contenu préjudiciable dans les entrées et les réponses du modèle. Pour de plus amples informations, veuillez consulter Bloquez les contenus dangereux dans les modèles utilisant Amazon Bedrock Guardrails.

    Note

    L'utilisation de barrières contextuelles pour les bases de connaissances n'est actuellement pas prise en charge sur Claude 3, Sonnet et Haiku.

    Pour les directives générales d'ingénierie rapide, voir Concepts d'ingénierie rapides.

    Choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

    Console

    Suivez les étapes de la console à l'adresseTestez votre base de connaissances à l'aide de requêtes et de réponses. Dans la fenêtre de test, activez l'option Générer des réponses. Ensuite, dans le volet Configurations, développez la section Gardrails.

    1. Dans la section Rambardes, choisissez le nom et la version de votre rambarde. Si vous souhaitez voir les détails du garde-corps et de la version que vous avez choisis, choisissez Afficher.

      Vous pouvez également en créer un nouveau en choisissant le lien Guardrail.

    2. Lorsque vous avez terminé les modifications, choisissez Save changes (Enregistrer les modifications). Pour quitter sans enregistrer, choisissez Ignorer les modifications.

    API

    Lorsque vous créez un RetrieveAndGeneratedemande, incluez le guardrailConfiguration champ dans le generationConfiguration pour utiliser votre garde-corps avec la demande. Pour connaître l'emplacement de ce champ, reportez-vous au RetrieveAndGeneratecorps de la demande dans la API référence.

    L'JSONobjet suivant indique les champs minimaux requis GenerationConfigurationpour définir le guardrailConfiguration :

    "generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

    Spécifiez l'extrémité guardrailId et guardrailVersion des rambardes que vous avez choisies.