View a markdown version of this page

Agentenbasierte Abrufe zur Abfrage einer Wissensdatenbank verwenden - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Agentenbasierte Abrufe zur Abfrage einer Wissensdatenbank verwenden

Agentic Retrieval verwendet ein Basismodell, um komplexe Abfragen intelligent in Unterabfragen zu zerlegen, iterativ relevante Informationen aus Ihren Wissensdatenbanken abzurufen und zu bewerten, ob die abgerufenen Ergebnisse ausreichen, um die ursprüngliche Anfrage zu beantworten. Dieser Ansatz verbessert die Abrufgenauigkeit bei komplexen, mehrstufigen Fragen, die in einem einzelnen Abrufdurchgang möglicherweise nicht vollständig beantwortet werden.

Zum Beispiel bei der Abfrage „Welches Magazin wurde zuerst veröffentlicht, Arthur's Magazine oder First for Women?“ , agentic retrieval unterteilt dies in separate Unterabfragen wie „Wann wurde Arthur's Magazine gegründet?“ und „Wann wurde First for Women gegründet?“ , ruft jeweils Ergebnisse ab und bewertet, ob die kombinierten Ergebnisse ausreichend sind.

So funktioniert der Agentenabruf

Wenn Sie eine Anfrage an die AgenticRetrieveStream API senden, läuft der folgende Prozess ab:

  1. Planung — Das Foundation-Modell analysiert Ihre Abfrage und erstellt einen Plan, um sie in eine oder mehrere Unterabfragen zu zerlegen. Jede Unterabfrage zielt auf einen bestimmten Retriever ab, den Sie konfiguriert haben. Nachdem die Abrufergebnisse gesammelt wurden, bewertet das Foundation-Modell, ob sie ausreichen, um die ursprüngliche Abfrage zu beantworten. Wenn nicht, plant und führt es zusätzliche Abruf-Iterationen bis zum konfigurierten Maximum aus.

  2. Abruf — Die Unterabfragen werden für die konfigurierten Knowledge Base-Retriever ausgeführt. Die Ergebnisse werden bei jedem Abruf gesammelt.

  3. Vollständige Dokumenterweiterung — Wenn das Basismodell feststellt, dass der gesamte Inhalt eines Dokuments benötigt wird (z. B. für eine Zusammenfassung, zur Überprüfung der Vollständigkeit oder für den Zugriff auf bestimmte Abschnitte), ruft es die GetDocumentContent API auf, um den vollständigen Dokumentinhalt abzurufen.

  4. Antwortgenerierung — Wenn diese Option auf true (Standardeinstellung) gesetzt generateResponse ist, synthetisiert das Foundation-Modell eine Antwort in natürlicher Sprache aus den abgerufenen Ergebnissen. Die Antwort wird Ihnen im Rahmen von Events zugeschickt. responseEvent

  5. Ergebnisereignis — Die deduplizierten Abrufergebnisse aller Iterationen, die vollständig synthetisierte Antwort in natürlicher Sprache und die Zitate werden an Sie zurückgegeben. Trace-Ereignisse werden aus Gründen der Beobachtbarkeit während des gesamten Prozesses gestreamt.

Voraussetzungen

Bevor Sie Agentic Retrieval verwenden können, müssen Sie über Folgendes verfügen:

  • Eine vollständig verwaltete Amazon Bedrock-Wissensdatenbank. Agentic Retrieval unterstützt derzeit nur verwaltete Wissensdatenbanken.

  • Zugriff auf ein Basismodell in Amazon Bedrock, das für die Planung und Bewertung von Abfragen verwendet werden kann.

  • Die erforderlichen IAM-Berechtigungen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für den automatischen Abruf.

Fragen Sie eine Wissensdatenbank mit agentischem Abruf ab

Um Agentic Retrieval zu verwenden, senden Sie eine Anfrage. AgenticRetrieveStream Die Antwort ist ein Stream, der Abrufergebnisse und Ablaufverfolgungsereignisse enthält.

In der folgenden Tabelle werden die wichtigsten Anforderungsfelder beschrieben:

Pflichtfelder
Feld Description
messages Die Eingabeabfrage und der Konversationsverlauf. Jede Nachricht enthält ein content Feld mit einem text Wert und ein role Feld (useroderassistant).
Retriever Die Wissensdatenbank ruft ab, von der Daten abgerufen werden sollen. Sie können bis zu 5 Abrufer angeben, von denen jeder anhand seiner ID auf eine verwaltete Wissensdatenbank verweist. Jeder Abrufer kann optional Metadatenfilter und eine maximale Anzahl von Ergebnissen enthalten.
agentisch RetrieveConfiguration Die Agenten-Abrufkonfiguration, einschließlich des Basismodells, das für die Planung und Bewertung von Abfragen verwendet werden soll, und optional eines Modells zur Neubewertung und der maximalen Anzahl von Agenteniterationen.
Optionale Felder
Feld Description
Konfiguration der Richtlinie Konfiguriert eine Amazon Bedrock-Leitplanke, die während des Agentenabrufs angewendet wird. Geben guardrailId guardrailVersion Sie ein und an.
UserContext Stellt einen Benutzerkontext für die Filterung der Zugriffskontrolle bereit.
Antwort generieren Ein boolesches Feld, das, wenn es auf true (Standardeinstellung) gesetzt ist, das Foundation-Modell anweist, aus den abgerufenen Ergebnissen eine Antwort in natürlicher Sprache zu generieren. Die Antwort wird in Form von Textblöcken zurückgestreamt und in das Ergebnisereignis aufgenommen.

Die vollständige Anfrage- und Antwortsyntax finden Sie AgenticRetrieveStream in der API-Referenz.

Antwort auf den Agentenabruf

Die AgenticRetrieveStream Antwort ist ein Stream, der die folgenden Ereignistypen enthält:

  • Result-Ereignis (AgenticRetrieveResultEvent) — Das letzte Ereignis, das nach Abschluss der Verarbeitung ausgelöst wird. Enthält die Abrufergebnisse und, wenn die Antwortgenerierung aktiviert ist, die generierte Antwort. Das Ergebnisereignis beinhaltet:

    • Ergebnisse abrufen (results) — Die Quellblöcke, die in allen Iterationen abgerufen wurden. Jedes Ergebnis enthält Inhalt, Quellabrufbezeichner und optionale Metadaten. Wenn derselbe Block durch mehrere Unterabfragen abgerufen wird, erscheint er in den Endergebnissen nur einmal.

    • Generierte Antwort (generatedResponse) — Wenn auf true (Standardeinstellung) gesetzt generateResponse ist, beinhaltet das Ergebnisereignis ein generatedResponse Objekt, das Folgendes enthält:

      • answer— Der vollständig synthetisierte Antworttext in natürlicher Sprache.

      • citations— Eine optionale Liste, die Bereiche der Antwort den unterstützenden Abrufergebnissen zuordnet. Jedes Zitat enthält:

        • startIndex— Der Zeichenversatz, an dem die zitierte Passage innerhalb der answer Zeichenfolge beginnt.

        • endIndex— Der Zeichenversatz, an dem die zitierte Passage endet (exklusiv — der zitierte Text läuft von startIndex bis, aber nicht einschließlichendIndex).

        • references— Eine Liste, in der jeder Verweis ein resultIndex Feld hat, das bei demselben Ergebnisereignis in das results Array indexiert und angibt, welches Abrufergebnis den angegebenen Bereich unterstützt.

  • Antwortereignisse (AgenticRetrieveResponseEvent) — Wenn auf true (Standardeinstellung) gesetzt generateResponse ist, werden responseEvent Ereignisse während der Antwortgenerierung gestreamt. Jedes Ereignis enthält ein text Feld mit einem inkrementellen Teil der synthetisierten Antwort in natürlicher Sprache.

  • Ereignisse verfolgen (AgenticRetrieveTraceEvent) — Ereignisse, die während des Agentenabrufs gestreamt werden und einen Überblick über jeden Schritt bieten. Dies sind die Typen von Trace-Ereignissen:

    • Planung — Zeigt an, dass das Foundation-Modell die Abfrage analysiert und Unterabfragen erstellt. Beinhaltet die geplanten Aktionen und Target Retriever.

    • Abruf — Zeigt an, dass ein Abruf anhand einer Wissensdatenbank ausgeführt wird. Beinhaltet die Eingabe und Ausgabe des Abrufs sowie alle Warnungen oder Fehler.

    • Spekulativer Abruf — Ein erster Abruf, der vor dem ersten Planungsschritt ausgeführt wird, um die Latenz zu reduzieren. Bei einer einzelnen Wissensdatenbank werden die Ergebnisse anhand der unformatierten Benutzerabfrage abgerufen. Bei mehreren Wissensdatenbanken wird eine Sondensuche durchgeführt, um Abfragen an die entsprechenden Abrufer weiterzuleiten.

    • Vollständige Dokumenterweiterung — Zeigt an, dass der Agent den gesamten Inhalt eines bestimmten Dokuments abruft. Enthält die Dokument-ID, den Quellabruf und den Status (InProgress, Erfolgreich oder Fehlgeschlagen).

Erforderliche Berechtigungen für den automatischen Abruf

Um die AgenticRetrieveStream API verwenden zu können, muss die aufrufende IAM-Identität über die folgenden Berechtigungen verfügen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:AgenticRetrieveStream", "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:region:account-id:knowledge-base/*" }, { "Effect": "Allow", "Action": "bedrock:InvokeModelWithResponseStream", "Resource": "*" } ] }

Wenn Sie Guardrails mit agentischem Abruf verwenden, fügen Sie die folgenden Berechtigungen hinzu:

{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }

Überlegungen

Beachten Sie bei der Verwendung von Agentic Retrieval Folgendes:

  • Agentic Retrieval unterstützt nur verwaltete Amazon Bedrock-Wissensdatenbanken.

  • Informationen zu den Quoten für Abrufer pro Anfrage, zu Ergebnissen pro Abrufanruf und zur maximalen Anzahl von Agenteniterationen finden Sie unter. Servicekontingente für verwaltete Wissensdatenbanken

  • Eine Reduzierung der maximalen Iterationsanzahl kann dazu führen, dass der Agent früher stoppt, was möglicherweise die Genauigkeit bei komplexen Abfragen verringert.

  • Bei der Konfiguration von Leitplanken wird nur die BLOCK Aktion unterstützt. Die MASK Aktion wird beim agentischen Abruf nicht unterstützt.

  • Der Kunde stellt das Basismodell, das Einbettungsmodell und das beim Agentenabruf verwendete Modell zur Neubewertung bereit und ist dessen Eigentümer, sofern vorhanden. Ihre IAM-Anmeldeinformationen werden verwendet, um diese Modelle aufzurufen.