Zephyrnet-Logo

Wissensdatenbanken für Amazon Bedrock unterstützen jetzt die Hybridsuche | Amazon Web Services

Datum:

At AWS re: Invent 2023 haben wir die allgemeine Verfügbarkeit von bekannt gegeben Wissensdatenbanken für Amazon Bedrock. Mit einer Wissensdatenbank können Sie Fundamentmodelle (FMs) sicher verbinden Amazonas Grundgestein auf Ihre Unternehmensdaten für eine vollständig verwaltete Retrieval Augmented Generation (RAG).

In einer previous posthaben wir beschrieben, wie Knowledge Bases für Amazon Bedrock den End-to-End-RAG-Workflow für Sie verwaltet, und Details zu einigen der jüngsten Funktionseinführungen geteilt.

Bei RAG-basierten Anwendungen hängt die Genauigkeit der generierten Antwort von großen Sprachmodellen (LLMs) vom Kontext ab, der dem Modell bereitgestellt wird. Der Kontext wird basierend auf der Benutzerabfrage aus der Vektordatenbank abgerufen. Die semantische Suche wird häufig verwendet, weil sie eher menschliche Fragen verstehen kann – die Anfrage eines Benutzers steht nicht immer in direktem Zusammenhang mit den genauen Schlüsselwörtern im Inhalt, der sie beantwortet. Die semantische Suche hilft dabei, Antworten basierend auf der Bedeutung des Textes zu liefern. Es gibt jedoch Einschränkungen bei der Erfassung aller relevanten Schlüsselwörter. Seine Leistung hängt von der Qualität der Worteinbettungen ab, die zur Darstellung der Bedeutung des Textes verwendet werden. Um solche Einschränkungen zu überwinden, führt die Kombination der semantischen Suche mit der Schlüsselwortsuche (Hybrid) zu besseren Ergebnissen.

In diesem Beitrag besprechen wir die neue Funktion der Hybridsuche, die Sie neben der semantischen Suche als Abfrageoption auswählen können.

Übersicht über die Hybridsuche

Die Hybridsuche nutzt die Stärken mehrerer Suchalgorithmen und integriert deren einzigartige Fähigkeiten, um die Relevanz der zurückgegebenen Suchergebnisse zu erhöhen. Bei RAG-basierten Anwendungen werden semantische Suchfunktionen häufig mit der herkömmlichen schlüsselwortbasierten Suche kombiniert, um die Relevanz der Suchergebnisse zu verbessern. Es ermöglicht die Suche sowohl nach dem Inhalt von Dokumenten als auch nach der zugrunde liegenden Bedeutung. Betrachten Sie beispielsweise die folgende Abfrage:

What is the cost of the book "<book_name>" on <website_name>?

Bei dieser Abfrage nach einem Buchnamen und einem Website-Namen liefert eine Stichwortsuche bessere Ergebnisse, da wir die Kosten für das spezifische Buch ermitteln möchten. Der Begriff „Kosten“ kann jedoch Synonyme wie „Preis“ haben, daher ist es besser, eine semantische Suche zu verwenden, die die Bedeutung des Textes versteht. Die Hybridsuche vereint das Beste beider Ansätze: Präzision der semantischen Suche und Abdeckung von Schlüsselwörtern. Es eignet sich hervorragend für RAG-basierte Anwendungen, bei denen der Retriever eine Vielzahl natürlichsprachlicher Abfragen verarbeiten muss. Die Schlüsselwörter helfen dabei, bestimmte Entitäten in der Abfrage abzudecken, wie z. B. Produktname, Farbe und Preis, während die Semantik die Bedeutung und Absicht innerhalb der Abfrage besser versteht. Wenn Sie beispielsweise einen Chatbot für eine E-Commerce-Website erstellen möchten, um Kundenanfragen wie die Rückgabebedingungen oder Produktdetails zu bearbeiten, ist die Verwendung der Hybridsuche am besten geeignet.

Anwendungsfälle für die Hybridsuche

Im Folgenden sind einige häufige Anwendungsfälle für die Hybridsuche aufgeführt:

  • Beantwortung von Open-Domain-Fragen – Hierbei geht es um die Beantwortung von Fragen zu den unterschiedlichsten Themen. Dies erfordert die Suche in großen Sammlungen von Dokumenten mit unterschiedlichen Inhalten, wie z. B. Website-Daten, die verschiedene Themen wie Nachhaltigkeit, Führung, Finanzergebnisse und mehr umfassen können. Die semantische Suche allein lässt sich für diese Aufgabe nicht gut verallgemeinern, da ihr die Fähigkeit zum lexikalischen Abgleich unsichtbarer Entitäten fehlt, was für den Umgang mit Beispielen außerhalb der Domäne wichtig ist. Daher kann die Kombination einer schlüsselwortbasierten Suche mit einer semantischen Suche dazu beitragen, den Umfang einzugrenzen und bessere Ergebnisse für die Beantwortung offener Domänenfragen zu liefern.
  • Kontextbasierte Chatbots – Gespräche können schnell die Richtung ändern und unvorhersehbare Themen behandeln. Die Hybridsuche kann solche Dialoge mit offenem Ende besser bewältigen.
  • Personalisierte Suche – Die webbasierte Suche über heterogene Inhalte profitiert von einem hybriden Ansatz. Die semantische Suche behandelt beliebte Head-Anfragen, während Schlüsselwörter seltene Long-Tail-Anfragen abdecken.

Obwohl die Hybridsuche durch die Kombination zweier Ansätze eine breitere Abdeckung bietet, bietet die semantische Suche Präzisionsvorteile, wenn die Domäne eng ist und die Semantik klar definiert ist oder wenn wenig Raum für Fehlinterpretationen besteht, wie etwa bei faktoiden Frage-Antwort-Systemen.

Vorteile der Hybridsuche

Sowohl die Schlüsselwortsuche als auch die semantische Suche geben einen separaten Satz von Ergebnissen zusammen mit ihren Relevanzwerten zurück, die dann kombiniert werden, um die relevantesten Ergebnisse zu liefern. Knowledge Bases für Amazon Bedrock unterstützt derzeit vier Vektor-Stores: Amazon OpenSearch ohne Server, Amazon Aurora PostgreSQL-kompatible Edition, Tannenzapfen und Redis Enterprise Cloud. Zum jetzigen Zeitpunkt ist die Hybrid-Suchfunktion für OpenSearch Serverless verfügbar, die Unterstützung für andere Vektor-Stores folgt in Kürze.

Im Folgenden sind einige der Vorteile der Hybridsuche aufgeführt:

  • Verbesserte Genauigkeit – Die Genauigkeit der vom FM generierten Antwort hängt direkt von der Relevanz der abgerufenen Ergebnisse ab. Basierend auf Ihren Daten kann es schwierig sein, die Genauigkeit Ihrer Anwendung allein durch semantische Suche zu verbessern. Der Hauptvorteil der Verwendung der Hybridsuche besteht darin, dass die Qualität der abgerufenen Ergebnisse verbessert wird, was wiederum dazu beiträgt, dass das FM genauere Antworten generiert.
  • Erweiterte Suchfunktionen – Die Stichwortsuche wirft ein breiteres Netz und findet Dokumente, die möglicherweise relevant sind, aber möglicherweise keine semantische Struktur im gesamten Dokument enthalten. Sie können damit sowohl nach Schlüsselwörtern als auch nach der semantischen Bedeutung des Textes suchen und so die Suchmöglichkeiten erweitern.

In den folgenden Abschnitten zeigen wir, wie Sie die Hybridsuche mit Wissensdatenbanken für Amazon Bedrock verwenden.

Nutzen Sie hybride Such- und semantische Suchoptionen über SDK

Wenn Sie die Retrieve-API aufrufen, wählt Knowledge Bases for Amazon Bedrock die richtige Suchstrategie für Sie aus, um Ihnen die relevantesten Ergebnisse zu liefern. Sie haben die Möglichkeit, es zu überschreiben, um entweder die Hybrid- oder die semantische Suche in der API zu verwenden.

API abrufen

Die Retrieve-API ist darauf ausgelegt, relevante Suchergebnisse abzurufen, indem sie die Benutzerabfrage, die Wissensdatenbank-ID und die Anzahl der Ergebnisse bereitstellt, die die API zurückgeben soll. Diese API wandelt Benutzeranfragen in Einbettungen um, durchsucht die Wissensdatenbank entweder mit der Hybridsuche oder der semantischen (Vektor-)Suche und gibt die relevanten Ergebnisse zurück, sodass Sie mehr Kontrolle über die Erstellung benutzerdefinierter Workflows auf der Grundlage der Suchergebnisse haben. Sie können beispielsweise den abgerufenen Ergebnissen Nachbearbeitungslogik hinzufügen oder Ihre eigene Eingabeaufforderung hinzufügen und sich mit jedem von Amazon Bedrock bereitgestellten FM verbinden, um Antworten zu generieren.

Um Ihnen ein Beispiel für den Wechsel zwischen hybriden und semantischen (Vektor-)Suchoptionen zu zeigen, haben wir mithilfe von eine Wissensdatenbank erstellt Amazon 10K-Dokument für 2023. Weitere Informationen zum Erstellen einer Wissensdatenbank finden Sie unter Erstellen Sie eine kontextbezogene Chatbot-Anwendung mithilfe von Wissensdatenbanken für Amazon Bedrock.

Um den Wert der Hybridsuche zu demonstrieren, verwenden wir die folgende Abfrage:

As of December 31st 2023, what is the leased square footage for physical stores in North America?

Die Antwort auf die vorherige Abfrage umfasst einige Schlüsselwörter, wie z date, physical stores und North America. Die richtige Antwort ist 22,871 thousand square feet. Betrachten wir den Unterschied in den Suchergebnissen sowohl für die hybride als auch für die semantische Suche.

Der folgende Code zeigt, wie Sie die Hybrid- oder semantische (Vektor-)Suche mithilfe der Retrieve-API mit Boto3 verwenden:

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

def retrieve(query, kbId, numberOfResults=5):
    return bedrock_agent_runtime.retrieve(
        retrievalQuery= {
            'text': query
        },
        knowledgeBaseId=kbId,
        retrievalConfiguration= {
            'vectorSearchConfiguration': {
                'numberOfResults': numberOfResults,
                'overrideSearchType': "HYBRID/SEMANTIC", # optional
            }
        }
    )
response = retrieve("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["retrievalResults"]

Das overrideSearchType Option in retrievalConfiguration bietet die Möglichkeit, beides zu verwenden HYBRID or SEMANTIC. Standardmäßig wird die richtige Strategie für Sie ausgewählt, um die relevantesten Ergebnisse zu erhalten. Wenn Sie die Standardoption zur Verwendung von Hybrid- oder semantischer Suche überschreiben möchten, können Sie den Wert auf festlegen HYBRID/SEMANTIC. Die Ausgabe der Retrieve Die API umfasst die abgerufenen Textblöcke, den Standorttyp und den URI der Quelldaten sowie die Relevanzbewertungen der Abrufe. Mithilfe der Bewertungen lässt sich ermitteln, welche Blöcke am besten zur Antwort der Abfrage passen.

Im Folgenden sind die Ergebnisse für die vorherige Abfrage unter Verwendung der Hybridsuche aufgeführt (wobei einige der Ausgaben der Kürze halber geschwärzt wurden):

[
  {
    "content": {
      "text": "... Description of Use Leased Square Footage (1).... Physical stores (2) 22,871  ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions): December 31, 2021 2022 2023 North America $ 83,640 $ 90,076 $ 93,632 International 21,718 23,347 24,357 AWS 43,245 60,324 72,701 Corporate 1.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "..amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023. 54 Table of Contents Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well as server and networking equipment, aircraft, and vehicles. Gross assets acquired under finance leases, ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  }
]

Im Folgenden sind die Ergebnisse der semantischen Suche aufgeführt (wobei einige der Ausgaben der Kürze halber geschwärzt wurden):

[
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions):    December 31,    2021 2022 2023   North America $ 83,640 $ 90,076 $ 93,632  International 21,718 23,347 24,357  AWS 43,245 60,324 72,701.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Depreciation and amortization expense on property and equipment was $22.9 billion, $24.9 billion, and $30.2 billion which includes amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023.   54        Table of Contents   Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well a..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  },
  {
    "content": {
      "text": "Incentives that we receive from property and equipment   vendors are recorded as a reduction to our costs. Property includes buildings and land that we own, along with property we have acquired under build-to-suit lease arrangements when we have control over the building during the construction period and finance lease arrangements..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61353767
  }
]

Wie Sie in den Ergebnissen sehen können, konnte die Hybridsuche das Suchergebnis mit der in der Benutzerabfrage genannten angemieteten Fläche für physische Geschäfte in Nordamerika abrufen. Der Hauptgrund dafür war, dass die Hybridsuche die Ergebnisse von Schlüsselwörtern wie kombinieren konnte date, physical stores und North America in der Abfrage, während dies bei der semantischen Suche nicht der Fall war. Wenn die Suchergebnisse durch die Benutzerabfrage und die Eingabeaufforderung ergänzt werden, kann das FM daher bei einer semantischen Suche nicht die richtige Antwort liefern.

Nun schauen wir uns das an RetrieveAndGenerate API mit Hybridsuche, um die vom FM generierte endgültige Antwort zu verstehen.

RetrieveAndGenerate-API

Das RetrieveAndGenerate Die API fragt eine Wissensdatenbank ab und generiert eine Antwort basierend auf den abgerufenen Ergebnissen. Sie geben die Wissensdatenbank-ID sowie das FM an, um aus den Ergebnissen eine Antwort zu generieren. Amazon Bedrock wandelt die Abfragen in Einbettungen um, fragt die Wissensdatenbank basierend auf dem Suchtyp ab, erweitert dann die FM-Eingabeaufforderung mit den Suchergebnissen als Kontextinformationen und gibt die FM-generierte Antwort zurück.

Verwenden wir die Abfrage „Wie hoch ist zum 31. Dezember 2023 die vermietete Fläche für physische Geschäfte in Nordamerika?“ und frage die RetrieveAndGenerate API zum Generieren der Antwort mithilfe unserer Abfrage:

def retrieveAndGenerate(input, kbId):
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': input
        },
        retrieveAndGenerateConfiguration={
            'type': 'KNOWLEDGE_BASE',
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1'
                'retrievalConfiguration': {
                'overrideSearchType': 'HYBRID/SEMANTIC',
                }
                }
            }
        )
response = retrieveAndGenerate("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["output"]["text"]

Im Folgenden sind die Ergebnisse der Hybridsuche aufgeführt:

22,871 thousand leased square feet

Das Folgende sind die Ergebnisse der semantischen Suche:

The search results do not contain any information about the leased square footage for physical stores in North America for 2023.

Die eigentliche Antwort auf die Frage lautet 22,871 thousand leased square feet, die durch die Hybridsuche generiert wird. Die abgerufenen Suchergebnisse für die Hybridsuche enthielten Informationen über die gemietete Fläche für physische Geschäfte in Nordamerika, wohingegen die semantische Suche aufgrund der Einbettungsübersetzung nicht in der Lage war, die richtigen Informationen aus dem Vektorgeschäft abzurufen. Daher konnte das FM nicht die richtige Antwort liefern, da es nicht über die richtigen und relevantesten Suchergebnisse verfügte.

Für allgemeinere Fragen, die keine Entitäten betreffen, wie z. B physical stores or North AmericaSowohl die Hybrid- als auch die semantische Suche liefern ähnliche Ergebnisse.

Im Folgenden finden Sie Beispielantworten auf einige Abfragen, die Fälle veranschaulichen, in denen sowohl die Hybrid- als auch die semantische Suche ähnliche Ergebnisse liefern.

Fragen (FAQ) Semantische Suche: RAG-API Hybridsuche: RAG-API
Wie bedient Amazon Entwickler und Unternehmen? Wir bedienen Entwickler und Unternehmen jeder Größe, darunter Start-ups, Regierungsbehörden und akademische Einrichtungen, über AWS, das eine breite Palette an On-Demand-Technologiediensten anbietet, darunter Computer, Speicher, Datenbanken, Analysen und maschinelles Lernen Sonstige Dienstleistungen Wir bedienen Entwickler und Unternehmen jeder Größe, darunter Start-ups, Regierungsbehörden und akademische Einrichtungen, über AWS, das eine breite Palette an On-Demand-Technologiediensten anbietet, darunter Computer, Speicher, Datenbanken, Analysen und maschinelles Lernen Sonstige Dienstleistungen.
Wer sind die leitenden Angestellten und Direktoren von Amazon (Stand: 24. Januar 2024)? Zu den Führungskräften von Amazon ab 2024 gehören Andrew R. Jassy als Präsident und Chief Executive Officer, Douglas J. Herrington als CEO Worldwide Amazon Stores, Brian T. Olsavsky als Senior Vice President und Chief Financial Officer sowie Shelley L. Reynolds als Vice President , Worldwide Controller und Principal Accounting Officer, Adam N. Selipsky als CEO von Amazon Web Services und David A. Zapolsky als Senior Vice President, Global Public Policy und General Counsel. Ab 2024 fungiert Jeffrey P. Bezos als Executive Chair von Amazon.com. Andrew R. Jassy fungiert als Präsident und Chief Executive Officer. Weitere Führungskräfte sind Douglas J. Herrington als CEO Worldwide Amazon Stores, Brian T. Olsavsky als Senior Vice President und Chief Financial Officer, Shelley L. Reynolds als Vice President, Worldwide Controller und Principal Accounting Officer sowie Adam N. Selipsky als CEO Amazon Web Services. David A. Zapolsky fungiert als Senior Vice President, Global Public Policy und General Counsel

Nutzen Sie hybride Such- und semantische Suchoptionen über die Amazon Bedrock-Konsole

Führen Sie die folgenden Schritte aus, um hybride und semantische Suchoptionen auf der Amazon Bedrock-Konsole zu verwenden:

  1. Wählen Sie auf der Amazon Bedrock-Konsole Wissensbasis im Navigationsbereich.
  2. Wählen Sie die von Ihnen erstellte Wissensdatenbank aus.
  3. Auswählen Testen Sie die Wissensdatenbank.
  4. Wählen Sie das Konfigurationssymbol.
  5. Aussichten für Suchtypwählen Hybridsuche (Semantik & Text).

Standardmäßig können Sie einen FM auswählen, um eine generierte Antwort auf Ihre Anfrage zu erhalten. Wenn Sie nur die abgerufenen Ergebnisse sehen möchten, können Sie umschalten Antwort generieren aus, um nur abgerufene Ergebnisse zu erhalten.

Zusammenfassung

In diesem Beitrag haben wir die neue Abfragefunktion in Knowledge Bases für Amazon Bedrock behandelt, die eine Hybridsuche ermöglicht. Wir haben gelernt, wie man die Hybrid-Suchoption im SDK und in der Amazon Bedrock-Konsole konfiguriert. Dies trägt dazu bei, einige der Einschränkungen zu überwinden, die sich aus der ausschließlichen Verwendung der semantischen Suche ergeben, insbesondere bei der Suche in großen Dokumentensammlungen mit unterschiedlichem Inhalt. Die Verwendung der Hybridsuche hängt vom Dokumenttyp und dem Anwendungsfall ab, den Sie implementieren möchten.

Weitere Ressourcen finden Sie hier:

Bibliographie

Verbesserung der Abrufleistung in RAG-Pipelines mit Hybridsuche


Über die Autoren

Mani Chanuja ist Tech Lead – Generative AI Specialists, Autorin des Buches Applied Machine Learning and High Performance Computing on AWS und Mitglied des Vorstands der Women in Manufacturing Education Foundation. Sie leitet Projekte zum maschinellen Lernen in verschiedenen Bereichen wie Computer Vision, Verarbeitung natürlicher Sprache und generative KI. Sie spricht auf internen und externen Konferenzen wie AWS re:Invent, Women in Manufacturing West, YouTube-Webinaren und GHC 23. In ihrer Freizeit unternimmt sie gerne lange Läufe am Strand.

Pallavi Nargund ist Principal Solutions Architect bei AWS. In ihrer Rolle als Cloud-Technologie-Enabler arbeitet sie mit Kunden zusammen, um deren Ziele und Herausforderungen zu verstehen und präskriptive Anleitungen zu geben, damit sie ihr Ziel mit AWS-Angeboten erreichen. Sie engagiert sich leidenschaftlich für Frauen in der Technologiebranche und ist Kernmitglied von Women in AI/ML bei Amazon. Sie spricht auf internen und externen Konferenzen wie AWS re:Invent, AWS Summits und Webinaren. Außerhalb der Arbeit engagiert sie sich gerne ehrenamtlich, arbeitet im Garten, fährt Fahrrad und wandert.

spot_img

Neueste Intelligenz

spot_img