Amazon Bedrock a géré des bases de connaissances en tant que cible de connecteur
Les bases de connaissances gérées par Amazon Bedrock fournissent une génération de récupération augmentée (RAG) entièrement gérée : Amazon Bedrock gère le stockage vectoriel, l'ingestion des données et l'optimisation de la récupération. Il n'y a donc aucune infrastructure de récupération à mettre en place ou à exploiter. Amazon Bedrock AgentCore expose une base de connaissances gérée sous la forme d'un connecteur de passerelle natif : vous l'attachez à votre AgentCore passerelle et vos agents la découvrent et l'interrogent à l'aide d'appels MCP (Model Context Protocol) standard, sans aucune intégration de récupération personnalisée à créer. Pour plus d'informations sur la création et la gestion d'une base de connaissances gérée, consultez la section Bases de connaissances pour Amazon Bedrock dans le guide de l'utilisateur d'Amazon Bedrock.
Le connecteur expose deux outils. Le premier estAgenticRetrieveStream. Au lieu d'une seule recherche, il planifie une stratégie de récupération, exécute plusieurs étapes de récupération dans vos bases de connaissances gérées, s'étend éventuellement à des documents complets et renvoie à la fois les résultats à l'appui et une réponse synthétisée étayée par des citations. Retrieveeffectue une seule recherche hybride et renvoie les passages les plus pertinents.
Note
Ce connecteur n'est pris en charge que pour les bases de connaissances gérées par Amazon Bedrock.
Les sections suivantes décrivent le fonctionnement du connecteur, l'extraction agentique en profondeur, les cas d'utilisation courants, la configuration d'une cible et les schémas d'entrée et de réponse pour les deux outils.
Rubriques
Comment ça marche
Amazon Bedrock AgentCore fournit un connecteur intégré aux bases de connaissances gérées par Amazon Bedrock. La passerelle gère la gestion des schémas, la résolution des points de terminaison et l'authentification des services. Le connecteur expose deux outils que votre agent découvre à l'aide tools/list des outils suivants :
-
AgenticRetrieveStream— une extraction agentique en continu en plusieurs étapes qui renvoie les résultats, planifie et récupère les événements de trace, ainsi qu'une réponse synthétisée avec des citations (renvoyée par défaut ; désactivée avec).generateResponse: false -
Retrieve— une recherche hybride unique qui renvoie les passages les plus pertinents avec des références aux sources.
Un seul Retrieve appel suit ce flux :
-
Configuration de la passerelle : créez une passerelle et ajoutez une cible de bases de connaissances gérées Amazon Bedrock, en faisant référence à la base de connaissances gérée que vous souhaitez exposer. La passerelle capture le schéma de l'outil et provisionne l'intégration.
-
Découverte d'outils : votre agent appelle
tools/listle point de terminaison Gateway et découvre l'outil de récupération avec son schéma d'entrée. -
Invocation de récupération : votre agent appelle
tools/callavec une requête en langage naturel. La passerelle s'authentifie auprès du backend et achemine la demande vers la base de connaissances gérée, qui exécute une recherche hybride sur le contenu ingéré. -
Résultats — L'outil renvoie les passages les plus pertinents avec des références à la source au format JSON dans le contenu textuel du résultat de l'outil.
-
Réponse fondée : votre agent utilise les résultats pour rédiger une réponse avec des sources citées.
Pour le flux de récupération agentic, voir Récupération agentic.
Récupération par agent
AgenticRetrieveStreamtraite une question comme une tâche : au lieu d'une recherche hybride unique qui Retrieve s'exécute pour une seule requête, il planifie une stratégie de récupération, exécute plusieurs étapes de récupération dans vos bases de connaissances gérées et renvoie les résultats à l'appui ainsi qu'une réponse synthétisée basée sur des citations, le tout en un seul appel d'outil. La réponse synthétisée est renvoyée par défaut ; définie sur generateResponse pour false renvoyer uniquement les résultats.
Votre agent l'invoque par le biais d'une conversation (messages). Les récupérateurs qu'il interroge (chacun pointant vers une base de connaissances gérée) sont configurés par l'administrateur sur la cible et ne sont pas fournis par l'agent. La progression de la planification et de la récupération s'effectue via MCP au fur et à mesurenotifications/message, et les résultats et la réponse sont renvoyés dans le résultat de l'outil.
Pour en savoir plus sur le fonctionnement de la récupération agentique, consultez les bases de connaissances d'Amazon Bedrock dans le guide de l'utilisateur d'Amazon Bedrock.
Pour le schéma de demande et d'événement, voir schéma AgenticRetrieveStream d'entrée et format de AgenticRetrieveStream réponse.
Cas d’utilisation
-
Assistants de connaissances d'entreprise : retrouvez les réponses des agents dans les wikis internes, les runbooks et les documents de politique qui ont été intégrés dans une base de connaissances gérée.
-
Questions et réponses sur les documents — Répondez aux questions concernant de grandes collections de documents sans créer ni exploiter de magasin vectoriel.
-
Multi-source RAG — Interrogez le contenu de plusieurs sources de données combinées dans une seule base de connaissances gérée en un seul appel de récupération.
-
Multi-step planification :
AgenticRetrieveStreamà utiliser pour répondre à des questions en plusieurs parties ou ambiguës qui nécessitent une planification et plusieurs étapes de récupération, en renvoyant une réponse synthétisée et étayée par une citation en un seul appel. -
Tool-augmented agents — Combinez la récupération gérée de la base de connaissances avec vos autres outils Gateway afin qu'un agent puisse à la fois rechercher des faits fondés et prendre des mesures.
Mettre en place une base de connaissances gérée
Pour obtenir des instructions sur la création d'une cible de passerelle avec la configuration du connecteur Amazon Bedrock Managed Knowledge Bases, y compris des exemples de configuration à l'aide du SDK et de la CLI Python, consultez la section Configurer une base de connaissances gérée dans le guide de configuration de la cible.
Configuration du rôle de service de passerelle
La passerelle a besoin d'un rôle de service qui permet au AgentCore service d'effectuer des actions de récupération sur la base de connaissances gérée en votre nom. Pour connaître les autorisations IAM et la configuration des politiques requises, consultez la section Configurer le rôle de service de passerelle dans le guide de configuration cible.
Invoquez les outils
Une fois que vous avez créé la cible, votre agent découvre les outils tools/list et les appelle avectools/call. Le nom de chaque outil est préfixé par le nom de la cible, sous la forme managed-kb___Retrieve (<target-name>_<tool-name>_AgenticRetrieveStreamou).
Car AgenticRetrieveStream votre agent ne transmet que la conversation. Les récupérateurs sont configurés sur la cible par l'administrateur, de sorte que l'agent n'envoie pas d'ID de base de connaissances :
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___AgenticRetrieveStream", "arguments": { "messages": [ { "role": "user", "content": { "text": "How do I configure a knowledge base target?" } } ] } } }
En Retrieve effet, l'identifiant de la base de connaissances gérée est lié à la cible, de sorte que votre agent transmet uniquement la requête :
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___Retrieve", "arguments": { "retrievalQuery": { "text": "What is Amazon Bedrock AgentCore?" } } } }
Si vous avez exposé les paramètres de récupération à l'agent (voir Contrôler les paramètres que l'agent peut définir), l'agent peut remplacer les paramètres par défaut configurés par l'administrateur au moment de l'appel :
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "managed-kb___Retrieve", "arguments": { "retrievalQuery": { "text": "insurance benefits" }, "retrievalConfiguration": { "managedSearchConfiguration": { "numberOfResults": 2 } } } } }
AgenticRetrieveStream schéma de saisie
Le schéma renvoyé par tools/list est l'ensemble de champs que votre agent peut définir lorsqu'il appelleAgenticRetrieveStream. Par défaut, le seul champ visible par l'agent est. messages Les récupérateurs à interroger et toutes les configurations de récupération sont définis par l'administrateur sur la cible. Voir Configuration d'une base de connaissances gérée. Pour exposer davantage de champs à l'agent, configurez parameterOverrides sur la cible — voir Contrôler les paramètres que l'agent peut définir.
{ "type": "object", "properties": { "messages": { "description": "The messages for the agentic retrieval conversation. Contains the user query and conversation history.", "type": "array", "items": { "type": "object", "properties": { "role": { "description": "The role of the message sender (user or assistant).", "type": "string", "enum": ["user", "assistant"] }, "content": { "description": "The content of the message.", "type": "object", "properties": { "text": { "description": "The text content of the message.", "type": "string" } } } }, "required": ["content", "role"] } } }, "required": ["messages"] }
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
|
|
array |
Oui |
La conversation sur la récupération magnétique. Chaque message comporte un |
AgenticRetrieveStream format de réponse
AgenticRetrieveStreamdiffuse une séquence d'événements. Avec MCP, les événements de suivi sont fournis en fonction de la progression en temps réel, et les résultats de la récupération et la réponse synthétisée sont fournis dans le résultat de l'outil. notifications/message Le flux émet les types d'événements suivants :
| Événement | Description |
|---|---|
|
|
Une étape de planification ou de récupération, avec un |
|
|
Une partie du texte de réponse généré. Émis par défaut ; supprimé uniquement lorsqu'il |
|
|
La récupération |
La structure d'un result événement est la suivante :
{ "result": { "results": [ { "content": { "text": "Amazon Bedrock AgentCore manages the storage, indexing, and retrieval infrastructure for a managed knowledge base...", "mimeType": "text/plain" }, "sourceRetriever": { "identifier": "kb-retriever-1" }, "metadata": { "x-amz-bedrock-kb-source-uri": "s3://example-bucket/docs/overview.pdf" } } ], "generatedResponse": { "answer": "A managed knowledge base lets Amazon Bedrock AgentCore handle the vector store, ingestion, and retrieval for you.", "citations": [ { "startIndex": 0, "endIndex": 98, "references": [ { "..." : "references to supporting results" } ] } ] } } }
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
|
|
array |
Oui |
Les résultats de la récupération. Chaque article a |
|
|
objet |
Non |
Présent par défaut. Omis uniquement lorsque ce paramètre |
|
|
chaîne |
Non |
Un jeton pour récupérer la prochaine série de résultats, le cas échéant. |
Récupérer le schéma d'entrée
Le schéma renvoyé par tools/list est l'ensemble de champs que votre agent peut définir lorsqu'il appelleRetrieve. Par défaut, le seul champ visible par l'agent est. retrievalQuery.text L'identifiant de la base de connaissances gérée et tous les paramètres de récupération sont définis par l'administrateur sur la cible. Pour exposer des paramètres de récupération tels que numberOfResults des métadonnées filter à l'agent, configurez parameterOverrides sur la cible — voir Contrôler les paramètres que l'agent peut définir.
{ "type": "object", "properties": { "retrievalQuery": { "description": "Contains the query to send the managed knowledge base.", "type": "object", "properties": { "text": { "description": "The text of the query made to the managed knowledge base.", "type": "string" } } } }, "required": ["retrievalQuery"] }
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
|
|
objet |
Oui |
Requête à envoyer à la base de connaissances gérée. |
|
|
chaîne |
Oui |
Le texte de la requête. |
Récupérer le format de réponse
L'Retrieveoutil renvoie un tools/call résultat MCP enveloppé dans une JSON-RPC enveloppe. Les content champs isError et se trouvent à l'intérieurresult, et le text champ contient la retrievalResults charge utile sérialisée :
{ "jsonrpc": "2.0", "id": 1, "result": { "isError": false, "content": [ { "type": "text", "text": "{\"retrievalResults\":[{\"content\":{\"type\":\"TEXT\",\"text\":\"Amazon Bedrock AgentCore manages the storage, indexing, and retrieval infrastructure for a managed knowledge base...\"},\"location\":{\"type\":\"S3\",\"s3Location\":{\"uri\":\"s3://example-bucket/docs/overview.pdf\"}},\"score\":0.87,\"metadata\":{\"x-amz-bedrock-kb-source-uri\":\"s3://example-bucket/docs/overview.pdf\"}}]}" } ] } }
Chaque élément retrievalResults possède la structure suivante :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
|
|
objet |
Oui |
Le contenu du fragment récupéré. Inclut un |
|
|
objet |
Non |
Emplacement des données sources. Inclut un |
|
|
number |
Non |
Pertinence du résultat par rapport à la requête. |
|
|
objet |
Non |
Les attributs de métadonnées et leurs valeurs pour le fichier source dans la source de données. |
Référence de configuration
Les champs suivants sont définis par l'administrateur ou exposés à l'agent lors de parameterOverrides la création de la cible. parameterValues Pour savoir où les définir, reportez-vous aux sections Configuration d'une base de connaissances gérée et Contrôle des paramètres que l'agent peut définir.
AgenticRetrieveStream — agenticRetrieveConfiguration
| Champ | Valeurs valides | Remarques |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Obligatoire quand |
|
|
entier |
Limite le nombre d'itérations de planification et de récupération. |
|
|
|
Permet de fixer un garde-corps Amazon Bedrock. |
Retrieve — managedSearchConfiguration
| Champ | Valeurs valides | Remarques |
|---|---|---|
|
|
entier (1 à 100) |
Nombre de fragments source à récupérer. |
|
|
|
|
|
|
|
Pareil que pour |
|
|
|
Obligatoire lors de l'utilisation du reclassement personnalisé. |
|
|
|
Contrôle les champs de métadonnées qui sont transmis au reclassement. |
|
|
|
Filtre de métadonnées. Indiquez exactement un opérateur. |
Filtrage du contrôle d'accès
Si votre base de connaissances gérée utilise le contrôle d'accès pour filtrer les résultats par utilisateur ou par groupe, l'application appelante doit transmettre un userContext message à la demande. La passerelle passe userContext par la base de connaissances, qui applique un filtrage de contrôle d'accès basé sur celle-ci. La passerelle ne se remplit pas userContext à partir de l'identité IAM de l'appelant ; votre application doit la fournir explicitement.
Pour l'utiliser :
-
Exposez
$.userContextà l'agent en configurantparameterOverridessur la cible — voir Contrôler les paramètres que l'agent peut définir. -
Demandez à l'application appelante (et non au modèle) d'inclure
userContextdans lestools/callarguments :
{ "arguments": { "retrievalQuery": { "text": "insurance benefits" }, "userContext": { "userId": "user@example.com" } } }