So erstellen Sie eine Wissensdatenbank, indem Sie in Wissensdatenbanken für Amazon Bedrock eine Verbindung zu einer Datenquelle herstellen - Amazon Bedrock

So erstellen Sie eine Wissensdatenbank, indem Sie in Wissensdatenbanken für Amazon Bedrock eine Verbindung zu einer Datenquelle herstellen

Wenn Sie eine Wissensdatenbank erstellen, indem Sie eine Verbindung zu einer Datenquelle herstellen, richten Sie Folgendes ein oder geben Sie Folgendes an:

  • Allgemeine Informationen, die die Wissensdatenbank definieren und identifizieren

  • Die Servicerolle mit Berechtigungen für die Wissensdatenbank.

  • Konfigurationen für die Wissensdatenbank, einschließlich des Einbettungsmodells, das bei der Konvertierung von Daten aus der Datenquelle verwendet werden soll, Speicherkonfigurationen für den Service, in dem die Einbettungen gespeichert werden sollen, und optional eines S3-Speicherorts zum Speichern multimodaler Daten.

Anmerkung

Sie können keine Wissensdatenbank mit einem Root-Benutzer erstellen. Melden Sie sich mit einem IAM-Benutzer an, bevor Sie mit diesen Schritten beginnen.

Erweitern Sie den Abschnitt, der Ihrem Anwendungsfall entspricht:

So richten Sie eine Wissensdatenbank ein
  1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die zur Verwendung der Amazon-Bedrock-Konsole berechtigt ist. Öffnen Sie dann die Amazon-Bedrock-Konsole unter https://console.aws.amazon.com/bedrock.

  2. Wählen Sie im linken Navigationsbereich Wissensdatenbank aus.

  3. Klicken Sie im Abschnitt Wissensdatenbanken auf die Schaltfläche „Erstellen“ und legen Sie fest, dass eine Wissensdatenbank mit einem Vektorspeicher erstellt werden soll.

  4. (Optional) Ändern Sie den Standardnamen und geben Sie eine Beschreibung für Ihre Wissensdatenbank ein.

  5. Wählen Sie eine AWS Identity and Access Management-(IAM)-Rolle aus, die Amazon Bedrock die Berechtigung zum Zugriff auf andere erforderliche AWS-Services gewährt. Sie können Amazon Bedrock die Servicerolle auch erstellen lassen oder Ihre eigene benutzerdefinierte Rolle verwenden, die Sie für Neptune Analytics erstellt haben.

  6. Wählen Sie eine Datenquelle aus, mit der Sie Ihre Wissensdatenbank verbinden möchten.

  7. (Optional) Fügen Sie Ihrer Wissensdatenbank Tags hinzu. Weitere Informationen finden Sie unter Markieren von Amazon-Bedrock-Ressourcen.

  8. (Optional) Konfigurieren Sie Services, für die Aktivitätsprotokolle für Ihre Wissensdatenbank bereitgestellt werden sollen.

  9. Gehen Sie zum nächsten Abschnitt und folgen Sie den Schritten unter Verbinden einer Datenquelle mit der Wissensdatenbank, um eine Datenquelle zu konfigurieren.

  10. Gehen Sie im Abschnitt Einbettungsmodell wie folgt vor:

    1. Wählen Sie ein Einbettungsmodell aus, mit dem Ihre Daten in Vektoreinbettungen umgewandelt werden sollen.

    2. (Optional) Erweitern Sie den Abschnitt Zusätzliche Konfigurationen, um die folgenden Konfigurationsoptionen anzuzeigen (nicht alle Modelle unterstützen alle Konfigurationen):

      • Einbettungstyp – Gibt an, ob die Daten in Gleitkomma-Vektoreinbettungen (float32) (genauer, aber teurer) oder binäre Vektoreinbettungen (weniger präzise, aber kostengünstiger) konvertiert werden sollen. Informationen darüber, welche Einbettungsmodelle binäre Vektoren unterstützen, finden Sie unter Unterstützte Einbettungsmodelle.

      • Vektordimensionen – Höhere Werte verbessern die Genauigkeit, erhöhen jedoch die Kosten und die Latenz.

  11. Gehen Sie im Bereich Vektordatenbank wie folgt vor:

    1. Wählen Sie einen Vektorspeicher für die Vektoreinbettungen aus, die für die Abfrage verwendet werden sollen. Ihnen stehen folgende Optionen zur Verfügung:

      • Einen neuen Vektorspeicher schnell erstellen – Wählen Sie einen der verfügbaren Vektorspeicher aus, den Amazon Bedrock erstellen soll. Sie können optional auch die AWS KMS-Schlüsselverschlüsselung für Ihren Vektorspeicher konfigurieren.

        Anmerkung

        Wenn Sie diese Option wählen, übernimmt Amazon Bedrock automatisch die Platzierung der Metadaten für jeden Vektorspeicher.

        • Amazon OpenSearch Serverless – Wissensdatenbanken für Amazon Bedrock erstellt eine Vektorsuchensammlung in Amazon OpenSearch Serverless sowie einen Index und konfiguriert diese mit den erforderlichen Feldern.

        • Amazon Aurora PostgreSQL Serverless – Amazon Bedrock richtet einen Vektorspeicher für Amazon Aurora PostgreSQL Serverless ein. Dieser Prozess nimmt unstrukturierte Textdaten aus einem Amazon-S3-Bucket, wandelt sie in Textblöcke und Vektoren um, und speichert sie dann in einer PostgreSQL-Datenbank. Weitere Informationen finden Sie unter Schnellerstellen einer Aurora-PostgreSQL-Wissensdatenbank für Amazon Bedrock.

        • Amazon Neptune Analytics – Amazon Bedrock verwendet Retrieval Augmented Generation (RAG)-Techniken in Kombination mit Diagrammen, um generative KI-Anwendungen zu verbessern, sodass Endbenutzer genauere und umfassendere Antworten erhalten können.

        • Amazon S3 Vectors – Wissensdatenbanken für Amazon Bedrock erstellt einen S3-Vektor-Bucket und einen Vektorindex, in dem die aus Ihren Datenquellen generierten Einbettungen gespeichert werden.

          Wichtig

          Die Integration von Amazon S3 Vectors in Wissensdatenbanken für Amazon Bedrock befindet sich in der Vorversion und kann sich noch ändern.

          Sie können eine Wissensdatenbank für Amazon S3 Vectors in allen AWS-Regionen erstellen, in denen sowohl Amazon Bedrock als auch Amazon S3 Vectors verfügbar ist. Weitere Informationen finden Sie unter Amazon S3 Vectors im Benutzerhandbuch zu Amazon S3.

          Anmerkung

          Wenn Wissensdatenbanken für Amazon Bedrock einen Vektorindex für Sie erstellt, können bis zu 40 KB an Metadaten für jeden Vektor angehängt werden. Innerhalb dieser 40 KB können bis zu 2 KB als filterbare Metadaten genutzt werden.

          Amazon Bedrock speichert den Text im nicht filterbaren Bereich als den AMAZON_BEDROCK_TEXT-Schlüssel. Die von Amazon Bedrock hinzugefügten Metadaten werden im filterbaren Metadatenbereich gespeichert. Weitere Informationen zu den Metadaten-Limits in S3-Vektor-Buckets finden Sie unter Voraussetzungen für die Verwendung von Amazon S3 Vectors mit Wissensdatenbanken für Amazon Bedrock.

      • Auswählen eines von Ihnen erstellten Vektorspeichers – Wählen Sie einen unterstützten Vektorspeicher aus und identifizieren Sie die Vektorfeld- und Metadatenfeldnamen im Vektorindex. Weitere Informationen finden Sie unter Voraussetzungen für die Verwendung eines Vektorspeichers, den Sie für eine Wissensdatenbank erstellt haben.

        Anmerkung

        Wenn es sich bei Ihrer Datenquelle um eine Confluence-, Microsoft SharePoint- oder Salesforce-Instance handelt, ist Amazon OpenSearch Serverless der einzige unterstützte Vektorspeicherservice.

    2. (Optional) Erweitern Sie den Abschnitt Zusätzliche Konfigurationen und modifizieren Sie alle relevanten Konfigurationen.

  12. Wenn Ihre Datenquelle Bilder enthält, geben Sie eine Amazon-S3-URI an, in der die Bilder gespeichert werden sollen, die der Parser aus den Daten im multimodalen Speicherziel extrahiert. Die Bilder können während der Abfrage zurückgegeben werden. Sie können auch optional einen kundenseitig verwalteten Schlüssel anstelle des Standardschlüssels Von AWS verwalteter Schlüssel zur Verschlüsselung Ihrer Daten wählen.

    Anmerkung

    Multimodale Daten werden nur von Amazon S3 und benutzerdefinierten Datenquellen unterstützt.

  13. Wählen Sie Weiter und überprüfen Sie die Details Ihrer Wissensdatenbank. Sie können jeden beliebigen Abschnitt bearbeiten, bevor Sie mit der Erstellung Ihrer Wissensdatenbank fortfahren.

    Anmerkung

    Die Zeit, die zum Erstellen der Wissensdatenbank benötigt wird, hängt von Ihren spezifischen Konfigurationen ab. Wenn die Erstellung der Wissensdatenbank abgeschlossen ist, wechselt der Status der Wissensdatenbank in den Status „Bereit“ oder „Verfügbar“.

    Sobald Ihre Wissensdatenbank bereit und verfügbar ist, synchronisieren Sie Ihre Datenquelle zum ersten Mal und anschließend wann immer Sie Ihre Inhalte auf dem neuesten Stand bringen möchten. Wählen Sie Ihre Wissensdatenbank in der Konsole aus und klicken Sie im Bereich Datenquellenübersicht auf Synchronisieren.

Um eine Wissensdatenbank zu erstellen, senden Sie eine CreateKnowledgeBase-Anfrage mit einem Build-Time-Endpunkt für Agenten für Amazon Bedrock.

Anmerkung

Wenn Sie es vorziehen, dass Amazon Bedrock einen Vektorspeicher für Sie erstellt und verwaltet, verwenden Sie stattdessen die Konsole. Für weitere Informationen erweitern Sie den Abschnitt Verwenden der Konsole in vorliegendem Thema.

Die folgenden Felder sind erforderlich:

Feld Grundlegende Beschreibung
Name Ein Name für die Wissensdatenbank
roleArn Der ARN einer Servicerolle in Wissensdatenbanken für Amazon Bedrock.
knowledgeBaseConfiguration Enthält Konfigurationen für die Wissensdatenbank. Siehe unten.
storageConfiguration (Nur erforderlich, wenn Sie eine Verbindung zu einer unstrukturierten Datenquelle herstellen).Enthält Konfigurationen für den Datenquellenservice, den Sie auswählen.

Die folgenden Felder sind optional:

Feld Anwendungsfall
description Eine Beschreibung für die Wissensdatenbank.
clientToken Zur Sicherstellung, dass die API-Anfrage nur einmal abgeschlossen wird. Weitere Informationen finden Sie unter Sicherstellen von Idempotenz.
tags So ordnen Sie Tags zu einem Flow hinzu. Weitere Informationen finden Sie unter Markieren von Amazon-Bedrock-Ressourcen.

Geben Sie im Feld knowledgeBaseConfiguration, das einem KnowledgeBaseConfiguration-Objekt zugeordnet ist, object, VECTOR im Feld type an und schließen Sie dabei ein VectorKnowledgeBaseConfiguration-Objekt mit ein. Schließen Sie im Objekt die folgenden Felder ein:

  • embeddingModelArn – Den ARN des zu verwendenden Einbettungsmodells.

  • embeddingModelConfiguration – Konfigurationen für das Einbettungsmodell. Informationen zu den möglichen Werten, die für jedes unterstützte Modell angegeben werden können, finden Sie unter Unterstützte Modelle und Regionen für Amazon-Bedrock-Wissensdatenbanken.

  • (Wenn Sie beabsichtigen, multimodale Daten, also Bilder, Abbildungen, Diagramme oder Tabellen in Ihre Wissensdatenbank aufzunehmen) supplementalDataStorageConfiguration – Ordnet einem SupplementalDataStorageLocation-Objekt zu, in dem Sie den S3-Speicherort für die extrahierten Daten angeben. Weitere Informationen finden Sie unter Parsing-Optionen für Ihre Datenquelle.

Geben Sie im Feld storageConfiguration, das einem StorageConfiguration-Objekt zugeordnet ist, den Vektorspeicher an, mit dem Sie im Feld type eine Verbindung herstellen möchten, und schließen Sie das Feld ein, das diesem Vektorspeicher entspricht. Einzelheiten zu den Informationen, die Sie angeben müssen, finden Sie unter StorageConfiguration unter den einzelnen Vektorspeicher-Konfigurationstypen.

Im Folgenden sehen Sie eine Beispielanforderung zum Erstellen einer Wissensdatenbank, die mit einer Amazon OpenSearch Serverless-Sammlung verbunden ist. Die Daten aus verbundenen Datenquellen werden mit Amazon Titan Text Embeddings V2 in binäre Vektoreinbettungen umgewandelt, und die vom Parser extrahierten multimodalen Daten werden so eingerichtet, dass sie in einem Bucket namens MyBucket gespeichert werden.

PUT /knowledgebases/ HTTP/1.1 Content-type: application/json { "name": "MyKB", "description": "My knowledge base", "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123", "knowledgeBaseConfiguration": { "type": "VECTOR", "vectorKnowledgeBaseConfiguration": { "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": 1024, "embeddingDataType": "BINARY" } }, "supplementalDataStorageConfiguration": { "storageLocations": [ { "s3Location": { "uri": "arn:aws:s3:::MyBucket" }, "type": "S3" } ] } } }, "storageConfiguration": { "opensearchServerlessConfiguration": { "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890", "fieldMapping": { "metadataField": "metadata", "textField": "text", "vectorField": "vector" }, "vectorIndexName": "MyVectorIndex" } } }