Logo Zephyrnet

Le basi di conoscenza per Amazon Bedrock ora supportano la ricerca ibrida | Servizi Web di Amazon

Data:

At AWS re: Invent 2023, abbiamo annunciato la disponibilità generale di Basi di conoscenza per Amazon Bedrock. Con una knowledge base è possibile connettere in modo sicuro i modelli di fondazione (FM) in Roccia Amazzonica ai dati della tua azienda per la Retrieval Augmented Generation (RAG) completamente gestita.

In un post precedente, abbiamo descritto come Knowledge Base per Amazon Bedrock gestisce per te il flusso di lavoro RAG end-to-end e condiviso i dettagli su alcuni dei recenti lanci di funzionalità.

Per le applicazioni basate su RAG, la precisione della risposta generata dai modelli linguistici di grandi dimensioni (LLM) dipende dal contesto fornito al modello. Il contesto viene recuperato dal database vettoriale in base alla query dell'utente. La ricerca semantica è ampiamente utilizzata perché è in grado di comprendere domande più umane: la query di un utente non è sempre direttamente correlata alle parole chiave esatte nel contenuto che risponde. La ricerca semantica aiuta a fornire risposte in base al significato del testo. Tuttavia, presenta delle limitazioni nell’acquisizione di tutte le parole chiave pertinenti. Le sue prestazioni si basano sulla qualità delle parole incorporate utilizzate per rappresentare il significato del testo. Per superare tali limitazioni, combinare la ricerca semantica con la ricerca per parole chiave (ibrida) fornirà risultati migliori.

In questo post discutiamo della nuova funzionalità della ricerca ibrida, che puoi selezionare come opzione di query insieme alla ricerca semantica.

Panoramica della ricerca ibrida

La ricerca ibrida sfrutta i punti di forza di più algoritmi di ricerca, integrando le loro capacità uniche per migliorare la pertinenza dei risultati di ricerca restituiti. Per le applicazioni basate su RAG, le funzionalità di ricerca semantica sono comunemente combinate con la tradizionale ricerca basata su parole chiave per migliorare la pertinenza dei risultati della ricerca. Consente di effettuare ricerche sia sul contenuto dei documenti che sul loro significato sottostante. Ad esempio, considera la seguente query:

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

In questa query relativa al nome di un libro e al nome di un sito web, una ricerca per parola chiave fornirà risultati migliori, perché vogliamo il costo del libro specifico. Tuttavia, il termine “costo” potrebbe avere sinonimi come “prezzo”, quindi sarà meglio utilizzare la ricerca semantica, che comprenda il significato del testo. La ricerca ibrida offre il meglio di entrambi gli approcci: precisione della ricerca semantica e copertura delle parole chiave. Funziona benissimo per le applicazioni basate su RAG in cui il retriever deve gestire un'ampia varietà di query in linguaggio naturale. Le parole chiave aiutano a coprire entità specifiche nella query come nome del prodotto, colore e prezzo, mentre la semantica comprende meglio il significato e l'intento all'interno della query. Ad esempio, se desideri creare un chatbot per un sito di e-commerce per gestire le domande dei clienti come la politica di restituzione o i dettagli del prodotto, l'utilizzo della ricerca ibrida sarà la soluzione più adatta.

Casi d'uso per la ricerca ibrida

Di seguito sono riportati alcuni casi d'uso comuni per la ricerca ibrida:

  • Risposte alle domande sul dominio aperto – Si tratta di rispondere a domande su un’ampia varietà di argomenti. Ciò richiede la ricerca in grandi raccolte di documenti con contenuti diversi, come dati di siti Web, che possono includere vari argomenti come sostenibilità, leadership, risultati finanziari e altro ancora. La ricerca semantica da sola non può generalizzare bene per questo compito, perché manca della capacità di corrispondenza lessicale di entità invisibili, che è importante per gestire esempi fuori dominio. Pertanto, la combinazione della ricerca basata su parole chiave con la ricerca semantica può aiutare a restringere l'ambito e fornire risultati migliori per la risposta alle domande di dominio aperto.
  • Chatbot basati sul contesto – Le conversazioni possono cambiare rapidamente direzione e coprire argomenti imprevedibili. La ricerca ibrida può gestire meglio tali dialoghi aperti.
  • Ricerca personalizzata – La ricerca su scala web su contenuti eterogenei trae vantaggio da un approccio ibrido. La ricerca semantica gestisce le query principali più frequenti, mentre le parole chiave coprono le rare query a coda lunga.

Sebbene la ricerca ibrida offra una copertura più ampia combinando due approcci, la ricerca semantica presenta vantaggi in termini di precisione quando il dominio è ristretto e la semantica è ben definita, o quando c’è poco spazio per interpretazioni errate, come i sistemi di risposta alle domande factoid.

Vantaggi della ricerca ibrida

Sia la ricerca per parole chiave che quella semantica restituiranno un insieme separato di risultati insieme ai rispettivi punteggi di pertinenza, che verranno poi combinati per restituire i risultati più pertinenti. Le basi di conoscenza per Amazon Bedrock attualmente supportano quattro archivi vettoriali: Amazon OpenSearch senza server, Edizione compatibile con Amazon Aurora PostgreSQL, pignae Redis Enterprise Cloud. Al momento della stesura di questo articolo, la funzionalità di ricerca ibrida è disponibile per OpenSearch Serverless, con il supporto per altri archivi di vettori in arrivo.

Di seguito sono riportati alcuni dei vantaggi derivanti dall'utilizzo della ricerca ibrida:

  • Precisione migliorata – La precisione della risposta generata dall'FM dipende direttamente dalla pertinenza dei risultati recuperati. Sulla base dei tuoi dati, può essere difficile migliorare la precisione della tua applicazione solo utilizzando la ricerca semantica. Il vantaggio principale dell'utilizzo della ricerca ibrida è ottenere una migliore qualità dei risultati recuperati, che a sua volta aiuta il FM a generare risposte più accurate.
  • Funzionalità di ricerca estese – La ricerca per parole chiave getta una rete più ampia e trova documenti che potrebbero essere rilevanti ma potrebbero non contenere una struttura semantica in tutto il documento. Ti consente di cercare parole chiave e significato semantico del testo, espandendo così le capacità di ricerca.

Nelle sezioni seguenti viene illustrato come utilizzare la ricerca ibrida con le knowledge base per Amazon Bedrock.

Utilizza le opzioni di ricerca ibrida e di ricerca semantica tramite SDK

Quando chiami l'API Retrieve, Knowledge Bases per Amazon Bedrock seleziona la giusta strategia di ricerca per fornirti i risultati più pertinenti. Hai la possibilità di sovrascriverlo per utilizzare la ricerca ibrida o semantica nell'API.

Recupera l'API

L'API Retrieve è progettata per recuperare risultati di ricerca pertinenti fornendo la query dell'utente, l'ID della knowledge base e il numero di risultati che desideri che l'API restituisca. Questa API converte le query degli utenti in incorporamenti, esegue ricerche nella knowledge base utilizzando la ricerca ibrida o la ricerca semantica (vettoriale) e restituisce i risultati pertinenti, offrendoti un maggiore controllo per creare flussi di lavoro personalizzati sui risultati della ricerca. Ad esempio, puoi aggiungere la logica di postelaborazione ai risultati recuperati o aggiungere il tuo prompt e connetterti con qualsiasi FM fornito da Amazon Bedrock per generare risposte.

Per mostrarti un esempio di passaggio tra le opzioni di ricerca ibrida e semantica (vettoriale), abbiamo creato una knowledge base utilizzando il file Documento Amazon 10K per il 2023. Per ulteriori dettagli sulla creazione di una knowledge base, fare riferimento a Crea un'applicazione chatbot contestuale utilizzando le knowledge base per Amazon Bedrock.

Per dimostrare il valore della ricerca ibrida, utilizziamo la seguente query:

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

La risposta alla query precedente coinvolge alcune parole chiave, come the date, physical storese North America. La risposta corretta è 22,871 thousand square feet. Osserviamo la differenza nei risultati della ricerca sia per la ricerca ibrida che per quella semantica.

Il codice seguente mostra come utilizzare la ricerca ibrida o semantica (vettoriale) utilizzando l'API Retrieve con 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"]

I overrideSearchType opzione retrievalConfiguration offre la possibilità di utilizzare uno dei due HYBRID or SEMANTIC. Per impostazione predefinita, selezionerà la strategia giusta per fornirti i risultati più pertinenti e, se desideri ignorare l'opzione predefinita per utilizzare la ricerca ibrida o semantica, puoi impostare il valore su HYBRID/SEMANTIC. L'uscita di Retrieve L'API include i blocchi di testo recuperati, il tipo di posizione e l'URI dei dati di origine e i punteggi di pertinenza dei recuperi. I punteggi aiutano a determinare quali blocchi corrispondono meglio alla risposta della query.

Di seguito sono riportati i risultati della query precedente utilizzando la ricerca ibrida (con parte dell'output oscurato per brevità):

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

Di seguito sono riportati i risultati della ricerca semantica (con parte dell'output oscurato per brevità):

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

Come puoi vedere nei risultati, la ricerca ibrida è stata in grado di recuperare il risultato della ricerca con la metratura affittata per i negozi fisici in Nord America, come menzionato nella query dell'utente. Il motivo principale era che la ricerca ibrida era in grado di combinare i risultati di parole chiave come date, physical storese North America nella query, mentre la ricerca semantica no. Pertanto, quando i risultati della ricerca vengono arricchiti con la query dell'utente e il prompt, FM non sarà in grado di fornire la risposta corretta in caso di ricerca semantica.

Ora diamo un'occhiata a RetrieveAndGenerate API con ricerca ibrida per comprendere la risposta finale generata dal FM.

API RetrieveAndGenerate

I RetrieveAndGenerate L'API interroga una knowledge base e genera una risposta in base ai risultati recuperati. Specifica l'ID della knowledge base e l'FM per generare una risposta dai risultati. Amazon Bedrock converte le query in incorporamenti, interroga la knowledge base in base al tipo di ricerca, quindi integra il prompt FM con i risultati della ricerca come informazioni di contesto e restituisce la risposta generata da FM.

Utilizziamo la query "Al 31 dicembre 2023, qual è la metratura affittata per i negozi fisici in Nord America?" e chiedi a RetrieveAndGenerate API per generare la risposta utilizzando la nostra query:

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

Di seguito sono riportati i risultati utilizzando la ricerca ibrida:

22,871 thousand leased square feet

Di seguito sono riportati i risultati utilizzando la ricerca semantica:

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

La risposta effettiva alla domanda è 22,871 thousand leased square feet, che viene generato dalla ricerca ibrida. I risultati della ricerca recuperati per la ricerca ibrida includevano informazioni sulla metratura affittata per i negozi fisici in Nord America, mentre la ricerca semantica non è stata in grado di recuperare le informazioni corrette dal negozio vettoriale a causa della traduzione degli incorporamenti. Pertanto, FM non ha potuto fornire la risposta corretta poiché non disponeva dei risultati di ricerca corretti e più pertinenti.

Tuttavia, per domande più generiche che non coinvolgono entità come physical stores or North America, sia la ricerca ibrida che quella semantica danno risultati simili.

Di seguito sono riportate risposte di esempio da alcune query che dimostrano casi in cui sia la ricerca ibrida che quella semantica producono risultati simili.

Question Ricerca semantica: API RAG Ricerca ibrida: API RAG
In che modo Amazon serve gli sviluppatori e le imprese? Serviamo sviluppatori e imprese di tutte le dimensioni, comprese start-up, agenzie governative e istituzioni accademiche, attraverso AWS, che offre un'ampia gamma di servizi tecnologici on-demand, tra cui elaborazione, archiviazione, database, analisi e apprendimento automatico, e altri servizi Serviamo sviluppatori e imprese di tutte le dimensioni, comprese start-up, agenzie governative e istituzioni accademiche, attraverso AWS, che offre un'ampia gamma di servizi tecnologici on-demand, tra cui elaborazione, archiviazione, database, analisi e apprendimento automatico, e altri servizi.
Chi sono i dirigenti esecutivi e i direttori di Amazon al 24 gennaio 2024? Gli amministratori esecutivi di Amazon a partire dal 2024 includono Andrew R. Jassy come presidente e amministratore delegato, Douglas J. Herrington come CEO Worldwide Amazon Stores, Brian T. Olsavsky come vicepresidente senior e direttore finanziario, Shelley L. Reynolds come vicepresidente , Worldwide Controller e Principal Accounting Officer, Adam N. Selipsky come CEO di Amazon Web Services e David A. Zapolsky come Vicepresidente senior, Global Public Policy e General Counsel. Dal 2024, Jeffrey P. Bezos ricopre il ruolo di presidente esecutivo di Amazon.com. Andrew R. Jassy ricopre il ruolo di Presidente e Amministratore delegato. Altri dirigenti esecutivi includono Douglas J. Herrington come CEO Worldwide Amazon Stores, Brian T. Olsavsky come Senior Vice President e Chief Financial Officer, Shelley L. Reynolds come Vice President, Worldwide Controller e Principal Accounting Officer e Adam N. Selipsky come CEO Servizi Web di Amazon. David A. Zapolsky ricopre il ruolo di Vicepresidente senior, Politica pubblica globale e Consulente legale generale

Utilizza le opzioni di ricerca ibrida e di ricerca semantica tramite la console Amazon Bedrock

Per utilizzare le opzioni di ricerca ibrida e semantica sulla console Amazon Bedrock, completa i seguenti passaggi:

  1. Sulla console Amazon Bedrock, scegli Knowledge Base nel pannello di navigazione.
  2. Scegli la base di conoscenza che hai creato.
  3. Scegli Testare la base di conoscenza.
  4. Scegli l'icona delle configurazioni.
  5. Nel Tipo di ricercaSelezionare Ricerca ibrida (semantica e testo).

Per impostazione predefinita, puoi scegliere un FM per ottenere una risposta generata per la tua query. Se vuoi vedere solo i risultati recuperati, puoi attivare/disattivare Genera risposta disattivato per ottenere solo i risultati recuperati.

Conclusione

In questo post abbiamo trattato la nuova funzionalità di query nelle Knowledge Base per Amazon Bedrock, che consente la ricerca ibrida. Abbiamo imparato come configurare l'opzione di ricerca ibrida nell'SDK e nella console Amazon Bedrock. Ciò aiuta a superare alcune limitazioni derivanti dall'affidarsi esclusivamente alla ricerca semantica, in particolare per la ricerca in grandi raccolte di documenti con contenuti diversi. L'uso della ricerca ibrida dipende dal tipo di documento e dal caso d'uso che stai tentando di implementare.

Per ulteriori risorse, fare riferimento a quanto segue:

Riferimenti

Miglioramento delle prestazioni di recupero nelle pipeline RAG con la ricerca ibrida


Informazioni sugli autori

Mani Khanuja è Tech Lead – Generative AI Specialists, autrice del libro Applied Machine Learning and High Performance Computing su AWS e membro del Consiglio di amministrazione della Women in Manufacturing Education Foundation. Conduce progetti di machine learning in vari settori come la visione artificiale, l'elaborazione del linguaggio naturale e l'intelligenza artificiale generativa. Parla a conferenze interne ed esterne come AWS re:Invent, Women in Manufacturing West, webinar su YouTube e GHC 23. Nel tempo libero le piace fare lunghe corse lungo la spiaggia.

Pallavi Nargund è Principal Solutions Architect presso AWS. Nel suo ruolo di abilitatore della tecnologia cloud, collabora con i clienti per comprenderne obiettivi e sfide e fornire indicazioni prescrittive per raggiungere i loro obiettivi con le offerte AWS. È appassionata di donne nella tecnologia ed è un membro fondamentale di Women in AI/ML su Amazon. Parla a conferenze interne ed esterne come AWS re:Invent, AWS Summits e webinar. Al di fuori del lavoro le piace il volontariato, il giardinaggio, il ciclismo e l'escursionismo.

spot_img

L'ultima intelligenza

spot_img