Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services

Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services

At AWS re: Oppfinne 2023, kunngjorde vi generell tilgjengelighet av Kunnskapsbaser for Amazon Bedrock. Med en kunnskapsbase kan du trygt koble fundamentmodeller (FM-er) inn Amazonas grunnfjell til bedriftens data for fullstendig administrert Retrieval Augmented Generation (RAG).

I en Forrige innlegg, vi beskrev hvordan Knowledge Bases for Amazon Bedrock administrerer ende-til-ende RAG-arbeidsflyten for deg og delte detaljer om noen av de nylige funksjonslanseringene.

For RAG-baserte applikasjoner er nøyaktigheten til den genererte responsen fra store språkmodeller (LLMs) avhengig av konteksten gitt til modellen. Kontekst hentes fra vektordatabasen basert på brukerspørringen. Semantisk søk ​​er mye brukt fordi det er i stand til å forstå mer menneskelignende spørsmål – en brukers søk er ikke alltid direkte relatert til de eksakte søkeordene i innholdet som besvarer det. Semantisk søk ​​bidrar til å gi svar basert på betydningen av teksten. Det har imidlertid begrensninger når det gjelder å fange opp alle relevante søkeord. Ytelsen er avhengig av kvaliteten på ordet innebygging som brukes til å representere betydningen av teksten. For å overkomme slike begrensninger vil det å kombinere semantisk søk ​​med søkeordsøk (hybrid) gi bedre resultater.

I dette innlegget diskuterer vi den nye funksjonen til hybridsøk, som du kan velge som et spørringsalternativ sammen med semantisk søk.

Hybrid søk oversikt

Hybridsøk drar fordel av styrken til flere søkealgoritmer, og integrerer deres unike evner for å forbedre relevansen til returnerte søkeresultater. For RAG-baserte applikasjoner kombineres semantiske søkefunksjoner vanligvis med tradisjonelle søkeordbaserte søk for å forbedre søkeresultatenes relevans. Den gjør det mulig å søke i både innholdet i dokumenter og deres underliggende betydning. Tenk for eksempel på følgende spørring:

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

I denne spørringen etter et boknavn og nettstedsnavn vil et søkeordsøk gi bedre resultater, fordi vi vil ha kostnaden for den spesifikke boken. Imidlertid kan begrepet "kostnad" ha synonymer som "pris", så det vil være bedre å bruke semantisk søk, som forstår betydningen av teksten. Hybridsøk gir det beste fra begge tilnærminger: presisjon av semantisk søk ​​og dekning av søkeord. Det fungerer utmerket for RAG-baserte applikasjoner der retrieveren må håndtere et bredt utvalg av naturlig språkspørringer. Nøkkelordene hjelper til med å dekke spesifikke enheter i søket, for eksempel produktnavn, farge og pris, mens semantikk bedre forstår betydningen og intensjonen i søket. Hvis du for eksempel ønsker å bygge en chatbot for et e-handelsnettsted for å håndtere kundeforespørsler som returpolicy eller detaljer om produktet, vil bruk av hybridsøk være best egnet.

Bruk tilfeller for hybrid søk

Følgende er noen vanlige brukstilfeller for hybridsøk:

  • Svar på spørsmål om åpent domene – Dette innebærer å svare på spørsmål om et bredt spekter av temaer. Dette krever søk i store samlinger av dokumenter med mangfoldig innhold, for eksempel nettsteddata, som kan omfatte ulike emner som bærekraft, lederskap, økonomiske resultater og mer. Semantisk søk ​​alene kan ikke generalisere godt for denne oppgaven, fordi den mangler kapasitet for leksikalsk matching av usynlige enheter, noe som er viktig for å håndtere eksempler utenfor domene. Derfor kan det å kombinere søkeordbasert søk med semantisk søk ​​bidra til å begrense omfanget og gi bedre resultater for svar på åpne domenespørsmål.
  • Kontekstbaserte chatbots – Samtaler kan raskt endre retning og dekke uforutsigbare emner. Hybridsøk kan bedre håndtere slike åpne dialoger.
  • Personlig søk – Søk i nettskala over heterogent innhold drar nytte av en hybrid tilnærming. Semantisk søk ​​håndterer populære hodespørringer, mens søkeord dekker sjeldne longtail-spørringer.

Selv om hybridsøk gir bredere dekning ved å kombinere to tilnærminger, har semantisk søk ​​presisjonsfordeler når domenet er smalt og semantikken er veldefinert, eller når det er lite rom for feiltolkning, som faktuelle spørsmålssvarsystemer.

Fordeler med hybrid søk

Både søkeord og semantisk søk ​​vil returnere et eget sett med resultater sammen med deres relevanspoeng, som deretter kombineres for å returnere de mest relevante resultatene. Kunnskapsbaser for Amazon Bedrock støtter for tiden fire vektorbutikker: Amazon OpenSearch Serverless, Amazon Aurora PostgreSQL-kompatibel utgave, konglenog Redis Enterprise Cloud. Når dette skrives er hybridsøkefunksjonen tilgjengelig for OpenSearch Serverless, med støtte for andre vektorbutikker som kommer snart.

Følgende er noen av fordelene ved å bruke hybridsøk:

  • Forbedret nøyaktighet – Nøyaktigheten til den genererte responsen fra FM er direkte avhengig av relevansen til de hentede resultatene. Basert på dataene dine kan det være utfordrende å forbedre nøyaktigheten til applikasjonen din bare ved å bruke semantisk søk. Den viktigste fordelen med å bruke hybridsøk er å få forbedret kvalitet på de hentede resultatene, som igjen hjelper FM å generere mer nøyaktige svar.
  • Utvidede søkemuligheter – Nøkkelordsøk kaster et bredere nett og finner dokumenter som kan være relevante, men som kanskje ikke inneholder semantisk struktur gjennom hele dokumentet. Den lar deg søke på nøkkelord så vel som den semantiske betydningen av teksten, og utvider dermed søkemulighetene.

I de følgende delene viser vi hvordan du bruker hybridsøk med kunnskapsbaser for Amazons grunnfjell.

Bruk alternativer for hybridsøk og semantiske søk via SDK

Når du ringer Retrieve API, velger Knowledge Bases for Amazon Bedrock den riktige søkestrategien for deg for å gi deg de mest relevante resultatene. Du har muligheten til å overstyre den for å bruke enten hybrid eller semantisk søk ​​i API.

Hent API

Retrieve API er utformet for å hente relevante søkeresultater ved å oppgi brukerspørringen, kunnskapsbase-IDen og antall resultater du vil at APIen skal returnere. Denne API-en konverterer brukerspørringer til innebygginger, søker i kunnskapsbasen ved å bruke enten hybridsøk eller semantisk (vektor) søk, og returnerer de relevante resultatene, noe som gir deg mer kontroll over å bygge egendefinerte arbeidsflyter på toppen av søkeresultatene. For eksempel kan du legge til etterbehandlingslogikk til de hentede resultatene eller legge til din egen forespørsel og koble til en hvilken som helst FM levert av Amazon Bedrock for å generere svar.

For å vise deg et eksempel på veksling mellom hybrid og semantisk (vektor) søkealternativer, har vi laget en kunnskapsbase ved å bruke Amazon 10K-dokument for 2023. For mer informasjon om hvordan du oppretter en kunnskapsbase, se Bygg en kontekstuell chatbot-applikasjon ved å bruke Knowledge Bases for Amazon Bedrock.

For å demonstrere verdien av hybridsøk bruker vi følgende søk:

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

Svaret for det foregående søket involverer noen få nøkkelord, for eksempel date, physical storesog North America. Riktig svar er 22,871 thousand square feet. La oss observere forskjellen i søkeresultatene for både hybrid og semantisk søk.

Følgende kode viser hvordan du bruker hybrid eller semantisk (vektor) søk ved å bruke 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"]

De overrideSearchType alternativet i retrievalConfiguration tilbyr valget mellom å bruke enten HYBRID or SEMANTIC. Som standard vil den velge riktig strategi for deg for å gi deg mest relevante resultater, og hvis du vil overstyre standardalternativet for å bruke enten hybrid eller semantisk søk, kan du sette verdien til HYBRID/SEMANTIC. Utgangen til Retrieve API inkluderer de hentede tekstbitene, stedstypen og URI for kildedataene og relevanspoengsummene til hentingene. Poengsummene hjelper til med å bestemme hvilke deler som best samsvarer med svaret på spørringen.

Følgende er resultatene for det foregående søket ved bruk av hybridsøk (med noe av utdataene redigert for korthets 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 resultatene for semantisk søk ​​(med noe av utdataene redigert for korthets 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 resultatene, var hybrid søk i stand til å hente søkeresultatet med de leide kvadratmeterne for fysiske butikker i Nord-Amerika som nevnt i brukerforespørselen. Hovedårsaken var at hybridsøk klarte å kombinere resultatene fra søkeord som f.eks date, physical storesog North America i spørringen, mens semantisk søk ​​ikke gjorde det. Derfor, når søkeresultatene er utvidet med brukerspørringen og ledeteksten, vil ikke FM-en kunne gi riktig svar i tilfelle semantisk søk.

La oss se på RetrieveAndGenerate API med hybridsøk for å forstå den endelige responsen generert av FM.

RetrieveAndGenerate API

De RetrieveAndGenerate API spør etter en kunnskapsbase og genererer et svar basert på de hentede resultatene. Du spesifiserer kunnskapsbase-IDen samt FM-en for å generere et svar fra resultatene. Amazon Bedrock konverterer spørringene til innebygginger, spør kunnskapsbasen basert på søketypen, og forsterker deretter FM-forespørselen med søkeresultatene som kontekstinformasjon og returnerer det FM-genererte svaret.

La oss bruke søket "Fra og med 31. desember 2023, hva er den utleide kvadratmeteren for fysiske butikker i Nord-Amerika?" og spør RetrieveAndGenerate API for å generere svaret ved å bruke spørringen vår:

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 resultatene ved bruk av hybridsøk:

22,871 thousand leased square feet

Følgende er resultatene ved bruk av semantisk søk:

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

Det faktiske svaret på spørringen er 22,871 thousand leased square feet, som genereres av hybridsøket. De hentede søkeresultatene for hybrid søk inkluderte informasjonen om de leide kvadratmeterne for fysiske butikker i Nord-Amerika, mens semantisk søk ​​ikke var i stand til å hente riktig informasjon fra vektorbutikken på grunn av oversettelse av embeddings. Derfor kunne ikke FM gi riktig svar fordi den ikke hadde de riktige og mest relevante søkeresultatene.

Men for mer generiske spørsmål som ikke involverer enheter som f.eks physical stores or North America, gir både hybrid og semantisk søk ​​lignende resultater.

Følgende er eksempler på svar fra noen få søk som viser tilfeller der både hybrid og semantisk søk ​​gir lignende resultater.

Spørsmål Semantisk søk: RAG API Hybridsøk: RAG API
Hvordan betjener Amazon utviklerne og bedriftene? Vi betjener utviklere og bedrifter av alle størrelser, inkludert oppstartsbedrifter, offentlige etater og akademiske institusjoner, gjennom AWS, som tilbyr et bredt sett av on-demand teknologitjenester, inkludert databehandling, lagring, database, analyse og maskinlæring, og andre tjenester Vi betjener utviklere og bedrifter av alle størrelser, inkludert oppstartsbedrifter, offentlige etater og akademiske institusjoner, gjennom AWS, som tilbyr et bredt sett av on-demand teknologitjenester, inkludert databehandling, lagring, database, analyse og maskinlæring, og andre tjenester.
Hvem er administrerende direktører og direktører for Amazon fra 24. januar 2024? De administrerende direktørene i Amazon fra og med 2024 inkluderer Andrew R. Jassy som president og administrerende direktør, Douglas J. Herrington som CEO Worldwide Amazon Stores, Brian T. Olsavsky som senior visepresident og finansdirektør, Shelley L. Reynolds som visepresident , verdensomspennende kontrollør og hovedregnskapsansvarlig, Adam N. Selipsky som administrerende direktør for Amazon Web Services, og David A. Zapolsky som senior visepresident, global offentlig politikk og generaladvokat. Fra og med 2024 fungerer Jeffrey P. Bezos som administrerende styreleder for Amazon.com. Andrew R. Jassy fungerer som president og administrerende direktør. Andre administrerende direktører inkluderer Douglas J. Herrington som CEO Worldwide Amazon Stores, Brian T. Olsavsky som Senior Vice President og Chief Financial Officer, Shelley L. Reynolds som visepresident, 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

Bruk hybridsøk og semantiske søkealternativer via Amazon Bedrock-konsollen

For å bruke hybride og semantiske søkealternativer på Amazon Bedrock-konsollen, fullfør følgende trinn:

  1. På Amazon Bedrock-konsollen velger du Kunnskapsbase i navigasjonsruten.
  2. Velg kunnskapsbasen du opprettet.
  3. Velg Test kunnskapsbase.
  4. Velg konfigurasjonsikonet.
    Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  5. Til Søketypeå velge Hybridsøk (semantisk og tekst).
    Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Som standard kan du velge en FM for å få et generert svar for søket ditt. Hvis du bare vil se de hentede resultatene, kan du veksle Generer respons av for å få kun hentede resultater.

Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

I dette innlegget dekket vi den nye søkefunksjonen i Knowledge Bases for Amazon Bedrock, som muliggjør hybridsøk. Vi lærte hvordan du konfigurerer hybridsøkealternativet i SDK og Amazon Bedrock-konsollen. Dette bidrar til å overvinne noen av begrensningene ved å stole utelukkende på semantisk søk, spesielt for søk i store samlinger av dokumenter med mangfoldig innhold. Bruken av hybridsøk avhenger av dokumenttypen og brukssaken du prøver å implementere.

For ytterligere ressurser, se følgende:

Referanser

Forbedring av gjenvinningsytelse i RAG-rørledninger med Hybrid Search


Om forfatterne

Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Mani Khanuja er en Tech Lead – Generative AI Specialists, forfatter av boken Applied Machine Learning and High Performance Computing on AWS, og medlem av styret for Women in Manufacturing Education Foundation Board. Hun leder maskinlæringsprosjekter innen forskjellige domener som datasyn, naturlig språkbehandling og generativ AI. Hun snakker på interne og eksterne konferanser som AWS re:Invent, Women in Manufacturing West, YouTube-webinarer og GHC 23. På fritiden liker hun å gå lange løpeturer langs stranden.

Kunnskapsbaser for Amazon Bedrock støtter nå hybridsøk | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Pallavi Nargund er en hovedløsningsarkitekt ved AWS. I sin rolle som skyteknologi-enabler jobber hun med kunder for å forstå deres mål og utfordringer, og gi foreskrivende veiledning for å nå deres mål med AWS-tilbud. Hun brenner for kvinner innen teknologi og er et kjernemedlem i Women in AI/ML hos Amazon. Hun snakker på interne og eksterne konferanser som AWS re:Invent, AWS Summits og webinarer. Utenom jobben liker hun frivillig arbeid, hagearbeid, sykling og fotturer.

Tidstempel:

Mer fra AWS maskinlæring