Vidensbaser for Amazon Bedrock understøtter nu hybridsøgning | Amazon Web Services

Vidensbaser for Amazon Bedrock understøtter nu hybridsøgning | Amazon Web Services

At AWS re: Invent 2023 annoncerede vi den generelle tilgængelighed af Vidensbaser for Amazon Bedrock. Med en videnbase kan du sikkert forbinde fundamentmodeller (FM'er) ind Amazonas grundfjeld til din virksomheds data for fuldt administreret Retrieval Augmented Generation (RAG).

I en forrige indlæg, vi beskrev, hvordan Knowledge Bases for Amazon Bedrock administrerer end-to-end RAG-arbejdsgangen for dig og delte detaljer om nogle af de seneste funktionslanceringer.

For RAG-baserede applikationer er nøjagtigheden af ​​det genererede svar fra store sprogmodeller (LLM'er) afhængig af den kontekst, som modellen giver. Kontekst hentes fra vektordatabasen baseret på brugerforespørgslen. Semantisk søgning er meget brugt, fordi den er i stand til at forstå mere menneskelignende spørgsmål – en brugers forespørgsel er ikke altid direkte relateret til de nøjagtige søgeord i indholdet, der besvarer den. Semantisk søgning hjælper med at give svar baseret på tekstens betydning. Det har dog begrænsninger med hensyn til at fange alle de relevante søgeord. Dens ydeevne afhænger af kvaliteten af ​​ordet indlejringer, der bruges til at repræsentere betydningen af ​​teksten. For at overvinde sådanne begrænsninger vil en kombination af semantisk søgning med søgeordssøgning (hybrid) give bedre resultater.

I dette indlæg diskuterer vi den nye funktion ved hybrid søgning, som du kan vælge som en forespørgselsmulighed sammen med semantisk søgning.

Hybrid søgeoversigt

Hybrid søgning udnytter styrkerne ved flere søgealgoritmer og integrerer deres unikke muligheder for at øge relevansen af ​​returnerede søgeresultater. For RAG-baserede applikationer kombineres semantiske søgefunktioner almindeligvis med traditionel søgeordsbaseret søgning for at forbedre søgeresultaternes relevans. Det gør det muligt at søge i både indholdet af dokumenter og deres underliggende betydning. Overvej f.eks. følgende forespørgsel:

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

I denne forespørgsel efter et bognavn og webstedsnavn vil en søgeordssøgning give bedre resultater, fordi vi vil have prisen på den specifikke bog. Udtrykket "omkostning" kan dog have synonymer som "pris", så det vil være bedre at bruge semantisk søgning, som forstår betydningen af ​​teksten. Hybrid søgning bringer det bedste fra begge tilgange: præcision af semantisk søgning og dækning af søgeord. Det fungerer godt til RAG-baserede applikationer, hvor retrieveren skal håndtere en lang række naturlige sprogforespørgsler. Nøgleordene hjælper med at dække specifikke enheder i forespørgslen såsom produktnavn, farve og pris, mens semantik bedre forstår betydningen og hensigten i forespørgslen. For eksempel, hvis du ønsker at bygge en chatbot til et e-handelswebsted for at håndtere kundeforespørgsler, såsom returpolitikken eller oplysninger om produktet, vil brug af hybridsøgning være mest velegnet.

Brug cases til hybridsøgning

Følgende er nogle almindelige brugstilfælde til hybridsøgning:

  • Besvarelse af spørgsmål om åbent domæne – Dette indebærer besvarelse af spørgsmål om en bred vifte af emner. Dette kræver søgning i store samlinger af dokumenter med forskelligt indhold, såsom webstedsdata, som kan omfatte forskellige emner såsom bæredygtighed, ledelse, økonomiske resultater og mere. Semantisk søgning alene kan ikke generalisere godt til denne opgave, fordi den mangler kapaciteten til leksikalsk matchning af usete entiteter, hvilket er vigtigt for håndtering af eksempler uden for domænet. Derfor kan en kombination af søgeordsbaseret søgning med semantisk søgning hjælpe med at indsnævre omfanget og give bedre resultater for besvarelse af spørgsmål i åbent domæne.
  • Kontekstbaserede chatbots – Samtaler kan hurtigt ændre retning og dække uforudsigelige emner. Hybrid søgning kan bedre håndtere sådanne åbne dialoger.
  • Personlig søgning – Web-skalasøgning over heterogent indhold drager fordel af en hybrid tilgang. Semantisk søgning håndterer populære hovedforespørgsler, mens søgeord dækker sjældne longtail-forespørgsler.

Selvom hybrid søgning giver bredere dækning ved at kombinere to tilgange, har semantisk søgning præcisionsfordele, når domænet er snævert, og semantikken er veldefineret, eller når der er lidt plads til fejlfortolkning, som f.eks. faktuelle spørgsmålsbesvarelsessystemer.

Fordele ved hybridsøgning

Både søgeord og semantisk søgning vil returnere et separat sæt resultater sammen med deres relevansscore, som derefter kombineres for at returnere de mest relevante resultater. Vidensbaser for Amazon Bedrock understøtter i øjeblikket fire vektorbutikker: Amazon OpenSearch Serverløs, Amazon Aurora PostgreSQL-kompatibel udgave, Grankogleog Redis Enterprise Cloud. Når dette skrives, er den hybride søgefunktion tilgængelig for OpenSearch Serverless, med understøttelse af andre vektorbutikker snart.

Følgende er nogle af fordelene ved at bruge hybridsøgning:

  • Forbedret nøjagtighed – Nøjagtigheden af ​​det genererede svar fra FM er direkte afhængig af relevansen af ​​de hentede resultater. Baseret på dine data kan det være udfordrende at forbedre nøjagtigheden af ​​din applikation kun ved brug af semantisk søgning. Den vigtigste fordel ved at bruge hybridsøgning er at få forbedret kvalitet af de hentede resultater, hvilket igen hjælper FM med at generere mere præcise svar.
  • Udvidede søgemuligheder – Søgeordssøgning kaster et bredere net og finder dokumenter, der kan være relevante, men som måske ikke indeholder semantisk struktur i hele dokumentet. Det giver dig mulighed for at søge på nøgleord samt tekstens semantiske betydning, og derved udvide søgemulighederne.

I de følgende afsnit demonstrerer vi, hvordan man bruger hybridsøgning med vidensbaser til Amazon Bedrock.

Brug hybridsøgning og semantiske søgemuligheder via SDK

Når du kalder Retrieve API, vælger Knowledge Bases for Amazon Bedrock den rigtige søgestrategi for dig for at give dig de mest relevante resultater. Du har mulighed for at tilsidesætte det for at bruge enten hybrid eller semantisk søgning i API'et.

Hent API

Retrieve API'en er designet til at hente relevante søgeresultater ved at angive brugerforespørgslen, videnbase-id'et og antallet af resultater, som du ønsker, at API'en skal returnere. Denne API konverterer brugerforespørgsler til indlejringer, søger i videnbasen ved hjælp af enten hybrid søgning eller semantisk (vektor) søgning og returnerer de relevante resultater, hvilket giver dig mere kontrol til at bygge tilpassede arbejdsgange oven på søgeresultaterne. For eksempel kan du tilføje efterbehandlingslogik til de hentede resultater eller tilføje din egen prompt og oprette forbindelse til enhver FM leveret af Amazon Bedrock for at generere svar.

For at vise dig et eksempel på at skifte mellem hybride og semantiske (vektor) søgemuligheder, har vi oprettet en vidensbase ved hjælp af Amazon 10K-dokument for 2023. For flere detaljer om oprettelse af en videnbase, se Byg en kontekstuel chatbot-applikation ved hjælp af Knowledge Bases for Amazon Bedrock.

For at demonstrere værdien af ​​hybrid søgning bruger vi følgende forespørgsel:

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

Svaret på den foregående forespørgsel involverer nogle få søgeord, såsom date, physical storesog North America. Det rigtige svar er 22,871 thousand square feet. Lad os se forskellen i søgeresultaterne for både hybrid og semantisk søgning.

Følgende kode viser, hvordan man bruger hybrid eller semantisk (vektor) søgning ved hjælp af Retrieve API med Boto3:

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"]

overrideSearchType indstilling i retrievalConfiguration giver mulighed for at bruge enten HYBRID or SEMANTIC. Som standard vil den vælge den rigtige strategi for dig for at give dig de mest relevante resultater, og hvis du vil tilsidesætte standardindstillingen for at bruge enten hybrid eller semantisk søgning, kan du indstille værdien til HYBRID/SEMANTIC. Outputtet af Retrieve API inkluderer de hentede tekstbidder, placeringstypen og URI for kildedataene og relevansscorerne for hentningerne. Resultaterne hjælper med at bestemme, hvilke bidder der bedst matcher svaret på forespørgslen.

Følgende er resultaterne for den foregående forespørgsel ved brug af hybridsøgning (med noget af outputtet redigeret for kortheds skyld):

[
  {
    "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
  }
]

Følgende er resultaterne for semantisk søgning (med noget af outputtet redigeret for kortheds skyld):

[
  {
    "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
  }
]

Som du kan se i resultaterne, var hybridsøgning i stand til at hente søgeresultatet med de lejede kvadratmeter til fysiske butikker i Nordamerika som nævnt i brugerforespørgslen. Hovedårsagen var, at hybridsøgning var i stand til at kombinere resultaterne fra søgeord som f.eks date, physical storesog North America i forespørgslen, hvorimod semantisk søgning ikke gjorde det. Derfor, når søgeresultaterne udvides med brugerforespørgslen og prompten, vil FM ikke være i stand til at give det korrekte svar i tilfælde af semantisk søgning.

Lad os nu se på RetrieveAndGenerate API med hybridsøgning for at forstå det endelige svar genereret af FM.

RetrieveAndGenerate API

RetrieveAndGenerate API forespørger på en vidensbase og genererer et svar baseret på de hentede resultater. Du angiver videnbase-id'et samt FM'en for at generere et svar fra resultaterne. Amazon Bedrock konverterer forespørgslerne til indlejringer, forespørger vidensbasen baseret på søgetypen og udvider derefter FM-prompten med søgeresultaterne som kontekstinformation og returnerer det FM-genererede svar.

Lad os bruge forespørgslen "Pr. 31. december 2023, hvad er den lejede kvadratmeter til fysiske butikker i Nordamerika?" og spørg RetrieveAndGenerate API til at generere svaret ved hjælp af vores forespørgsel:

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"]

Følgende er resultaterne ved brug af hybridsøgning:

22,871 thousand leased square feet

Følgende er resultaterne ved brug af semantisk søgning:

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

Det faktiske svar på forespørgslen er 22,871 thousand leased square feet, som genereres af hybridsøgningen. De hentede søgeresultater for hybridsøgning inkluderede oplysningerne om de lejede kvadratmeter til fysiske butikker i Nordamerika, hvorimod semantisk søgning ikke var i stand til at hente den rigtige information fra vektorlageret på grund af indlejringsoversættelse. Derfor kunne FM ikke give det korrekte svar, fordi det ikke havde de korrekte og mest relevante søgeresultater.

Men for mere generiske spørgsmål, der ikke involverer enheder som f.eks physical stores or North America, giver både hybrid og semantisk søgning lignende resultater.

Følgende er eksempler på svar fra nogle få forespørgsler, der viser tilfælde, hvor både hybrid og semantisk søgning giver lignende resultater.

Spørgsmål Semantisk søgning: RAG API Hybrid søgning: RAG API
Hvordan betjener Amazon udviklerne og virksomhederne? Vi betjener udviklere og virksomheder af alle størrelser, herunder nystartede virksomheder, statslige agenturer og akademiske institutioner, gennem AWS, som tilbyder et bredt sæt af on-demand teknologitjenester, herunder computer, lagring, database, analyse og maskinlæring, og andre tjenester Vi betjener udviklere og virksomheder af alle størrelser, herunder nystartede virksomheder, statslige agenturer og akademiske institutioner, gennem AWS, som tilbyder et bredt sæt af on-demand teknologitjenester, herunder computer, lagring, database, analyse og maskinlæring, og andre tjenester.
Hvem er de administrerende direktører og direktører for Amazon pr. 24. januar 2024? De administrerende direktører for Amazon fra 2024 omfatter Andrew R. Jassy som præsident og administrerende direktør, Douglas J. Herrington som CEO Worldwide Amazon Stores, Brian T. Olsavsky som Senior Vice President og Chief Financial Officer, Shelley L. Reynolds som Vice President. , Worldwide Controller og Principal Accounting Officer, Adam N. Selipsky som CEO Amazon Web Services og David A. Zapolsky som Senior Vice President, Global Public Policy og General Counsel. Fra 2024 fungerer Jeffrey P. Bezos som Executive Chair for Amazon.com. Andrew R. Jassy fungerer som præsident og administrerende direktør. Andre direktører omfatter Douglas J. Herrington som CEO Worldwide Amazon Stores, Brian T. Olsavsky som Senior Vice President og Chief Financial Officer, Shelley L. Reynolds som Vice President, Worldwide Controller og Principal Accounting Officer, og Adam N. Selipsky som CEO Amazon Web Services. David A. Zapolsky fungerer som Senior Vice President, Global Public Policy og General Counsel

Brug hybridsøgning og semantiske søgemuligheder via Amazon Bedrock-konsollen

For at bruge hybride og semantiske søgemuligheder på Amazon Bedrock-konsollen skal du udføre følgende trin:

  1. Vælg på Amazon Bedrock-konsollen Vidensdatabase i navigationsruden.
  2. Vælg den videnbase, du har oprettet.
  3. Vælg Test videnbase.
  4. Vælg konfigurationsikonet.
    Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  5. Til SøgetypeVælg Hybrid søgning (semantisk og tekst).
    Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Som standard kan du vælge en FM for at få et genereret svar på din forespørgsel. Hvis du kun vil se de hentede resultater, kan du skifte Generer respons slukket for kun at få hentede resultater.

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Konklusion

I dette indlæg dækkede vi den nye forespørgselsfunktion i Knowledge Bases for Amazon Bedrock, som muliggør hybrid søgning. Vi lærte, hvordan man konfigurerer den hybride søgemulighed i SDK'et og Amazon Bedrock-konsollen. Dette hjælper med at overvinde nogle af begrænsningerne ved udelukkende at stole på semantisk søgning, især ved søgning i store samlinger af dokumenter med forskelligt indhold. Brugen af ​​hybrid søgning afhænger af dokumenttypen og den use case, du forsøger at implementere.

For yderligere ressourcer henvises til følgende:

Referencer

Forbedring af genfindingsydelse i RAG-rørledninger med hybridsøgning


Om forfatterne

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mani Khanuja er en Tech Lead – Generative AI Specialists, forfatter til bogen Applied Machine Learning and High Performance Computing på AWS og medlem af bestyrelsen for Women in Manufacturing Education Foundation Board. Hun leder maskinlæringsprojekter inden for forskellige domæner såsom computersyn, naturlig sprogbehandling og generativ AI. Hun taler ved interne og eksterne konferencer såsom AWS re:Invent, Women in Manufacturing West, YouTube-webinarer og GHC 23. I sin fritid kan hun godt lide at gå lange løbeture langs stranden.

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Pallavi Nargund er Principal Solutions Architect hos AWS. I sin rolle som cloud-teknologienabler arbejder hun med kunder for at forstå deres mål og udfordringer og give præskriptiv vejledning til at nå deres mål med AWS-tilbud. Hun brænder for kvinder i teknologi og er et kernemedlem af Women in AI/ML hos Amazon. Hun taler ved interne og eksterne konferencer såsom AWS re:Invent, AWS Summits og webinarer. Uden for arbejdet nyder hun frivilligt arbejde, havearbejde, cykle og vandre.

Tidsstempel:

Mere fra AWS maskinindlæring