Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Amazon Web Services

Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Amazon Web Services

At AWS re: Invent 2023, anunciamos a disponibilidade geral de Bases de conhecimento para Amazon Bedrock. Com uma base de conhecimento, você pode conectar com segurança modelos de base (FMs) em Rocha Amazônica aos dados da sua empresa para geração aumentada de recuperação (RAG) totalmente gerenciada.

Em um artigo do num post anterior, descrevemos como as bases de conhecimento do Amazon Bedrock gerenciam o fluxo de trabalho RAG de ponta a ponta para você e compartilhamos detalhes sobre alguns dos lançamentos recentes de recursos.

Para aplicações baseadas em RAG, a precisão da resposta gerada a partir de grandes modelos de linguagem (LLMs) depende do contexto fornecido ao modelo. O contexto é recuperado do banco de dados vetorial com base na consulta do usuário. A pesquisa semântica é amplamente utilizada porque é capaz de compreender questões mais humanas – a consulta de um usuário nem sempre está diretamente relacionada às palavras-chave exatas no conteúdo que a responde. A pesquisa semântica ajuda a fornecer respostas com base no significado do texto. No entanto, tem limitações na captura de todas as palavras-chave relevantes. Seu desempenho depende da qualidade dos embeddings de palavras utilizados para representar o significado do texto. Para superar tais limitações, combinar a pesquisa semântica com a pesquisa por palavra-chave (híbrida) proporcionará melhores resultados.

Nesta postagem, discutimos o novo recurso de pesquisa híbrida, que você pode selecionar como opção de consulta junto com a pesquisa semântica.

Visão geral da pesquisa híbrida

A pesquisa híbrida aproveita os pontos fortes de vários algoritmos de pesquisa, integrando seus recursos exclusivos para aumentar a relevância dos resultados de pesquisa retornados. Para aplicativos baseados em RAG, os recursos de pesquisa semântica são comumente combinados com a pesquisa tradicional baseada em palavras-chave para melhorar a relevância dos resultados da pesquisa. Permite pesquisar tanto o conteúdo dos documentos como o seu significado subjacente. Por exemplo, considere a seguinte consulta:

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

Nesta consulta pelo nome de um livro e nome de site, uma pesquisa por palavra-chave dará melhores resultados, pois queremos o custo do livro específico. Porém, o termo “custo” pode ter sinônimos como “preço”, então será melhor utilizar a pesquisa semântica, que entende o significado do texto. A busca híbrida traz o melhor de ambas as abordagens: precisão da busca semântica e cobertura de palavras-chave. Funciona muito bem para aplicativos baseados em RAG, onde o recuperador precisa lidar com uma ampla variedade de consultas em linguagem natural. As palavras-chave ajudam a cobrir entidades específicas na consulta, como nome do produto, cor e preço, enquanto a semântica compreende melhor o significado e a intenção da consulta. Por exemplo, se você deseja construir um chatbot para um site de comércio eletrônico para lidar com dúvidas dos clientes, como política de devolução ou detalhes do produto, o uso da pesquisa híbrida será o mais adequado.

Casos de uso para pesquisa híbrida

A seguir estão alguns casos de uso comuns para pesquisa híbrida:

  • Resposta a perguntas de domínio aberto – Isso envolve responder perguntas sobre uma ampla variedade de tópicos. Isso requer pesquisas em grandes coleções de documentos com conteúdos diversos, como dados de sites, que podem incluir diversos temas como sustentabilidade, liderança, resultados financeiros e muito mais. A pesquisa semântica por si só não pode generalizar bem para esta tarefa, porque lhe falta a capacidade de correspondência lexical de entidades invisíveis, o que é importante para lidar com exemplos fora do domínio. Portanto, combinar a pesquisa baseada em palavras-chave com a pesquisa semântica pode ajudar a restringir o escopo e fornecer melhores resultados para respostas a perguntas de domínio aberto.
  • Chatbots baseados em contexto – As conversas podem mudar rapidamente de direção e cobrir tópicos imprevisíveis. A pesquisa híbrida pode lidar melhor com esses diálogos abertos.
  • Pesquisa personalizada – A pesquisa em escala web sobre conteúdo heterogêneo se beneficia de uma abordagem híbrida. A pesquisa semântica lida com consultas principais populares, enquanto as palavras-chave cobrem consultas raras de cauda longa.

Embora a pesquisa híbrida ofereça uma cobertura mais ampla ao combinar duas abordagens, a pesquisa semântica tem vantagens de precisão quando o domínio é restrito e a semântica é bem definida, ou quando há pouco espaço para interpretações erradas, como sistemas de resposta a perguntas factóides.

Benefícios da pesquisa híbrida

Tanto a pesquisa por palavra-chave quanto a semântica retornarão um conjunto separado de resultados junto com suas pontuações de relevância, que serão então combinadas para retornar os resultados mais relevantes. Atualmente, as bases de conhecimento do Amazon Bedrock oferecem suporte a quatro armazenamentos de vetores: Amazon OpenSearch sem servidor, Edição compatível com Amazon Aurora PostgreSQL, Pinecone e Redis Enterprise Cloud. No momento em que este livro foi escrito, o recurso de pesquisa híbrida estava disponível para OpenSearch Serverless, com suporte para outros armazenamentos de vetores em breve.

A seguir estão alguns dos benefícios do uso da pesquisa híbrida:

  • Precisão aprimorada – A precisão da resposta gerada pelo FM depende diretamente da relevância dos resultados recuperados. Com base nos seus dados, pode ser um desafio melhorar a precisão da sua aplicação apenas usando a pesquisa semântica. O principal benefício do uso da pesquisa híbrida é obter melhor qualidade dos resultados recuperados, o que, por sua vez, ajuda o FM a gerar respostas mais precisas.
  • Capacidades de pesquisa expandidas – A pesquisa por palavra-chave lança uma rede mais ampla e encontra documentos que podem ser relevantes, mas que podem não conter estrutura semântica em todo o documento. Ele permite pesquisar palavras-chave e também o significado semântico do texto, ampliando assim as capacidades de pesquisa.

Nas seções a seguir, demonstramos como usar a pesquisa híbrida com bases de conhecimento do Amazon Bedrock.

Use pesquisa híbrida e opções de pesquisa semântica via SDK

Quando você chama a API Retrieve, as bases de conhecimento do Amazon Bedrock selecionam a estratégia de pesquisa certa para fornecer os resultados mais relevantes. Você tem a opção de substituí-lo para usar pesquisa híbrida ou semântica na API.

Recuperar API

A API Retrieve foi projetada para buscar resultados de pesquisa relevantes, fornecendo a consulta do usuário, o ID da base de conhecimento e o número de resultados que você deseja que a API retorne. Essa API converte as consultas do usuário em incorporações, pesquisa a base de conhecimento usando pesquisa híbrida ou pesquisa semântica (vetorial) e retorna os resultados relevantes, proporcionando mais controle para criar fluxos de trabalho personalizados com base nos resultados da pesquisa. Por exemplo, você pode adicionar lógica de pós-processamento aos resultados recuperados ou adicionar seu próprio prompt e conectar-se a qualquer FM fornecido pelo Amazon Bedrock para gerar respostas.

Para mostrar um exemplo de como alternar entre opções de pesquisa híbrida e semântica (vetorial), criamos uma base de conhecimento usando o Documento Amazon 10K para 2023. Para obter mais detalhes sobre a criação de uma base de conhecimento, consulte Crie um aplicativo de chatbot contextual usando bases de conhecimento do Amazon Bedrock.

Para demonstrar o valor da pesquisa híbrida, usamos a seguinte consulta:

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

A resposta para a consulta anterior envolve algumas palavras-chave, como date, physical stores e North America. A resposta correta é 22,871 thousand square feet. Vamos observar a diferença nos resultados da pesquisa tanto para a pesquisa híbrida quanto para a semântica.

O código a seguir mostra como usar a pesquisa híbrida ou semântica (vetorial) usando a API Retrieve com 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"]

A overrideSearchType opção em retrievalConfiguration oferece a opção de usar HYBRID or SEMANTIC. Por padrão, ele selecionará a estratégia certa para fornecer os resultados mais relevantes e, se desejar substituir a opção padrão para usar pesquisa híbrida ou semântica, você poderá definir o valor como HYBRID/SEMANTIC. A saída do Retrieve A API inclui os pedaços de texto recuperados, o tipo de localização e URI dos dados de origem e as pontuações de relevância das recuperações. As pontuações ajudam a determinar quais partes melhor correspondem à resposta da consulta.

A seguir estão os resultados da consulta anterior usando pesquisa híbrida (com parte da saída redigida por questões de brevidade):

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

A seguir estão os resultados da pesquisa semântica (com alguns dos resultados redigidos por questões de brevidade):

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

Como você pode ver nos resultados, a pesquisa híbrida conseguiu recuperar o resultado da pesquisa com a metragem quadrada alugada para lojas físicas na América do Norte, conforme mencionado na consulta do usuário. O principal motivo foi que a pesquisa híbrida foi capaz de combinar os resultados de palavras-chave como date, physical stores e North America na consulta, enquanto a pesquisa semântica não. Portanto, quando os resultados da pesquisa são aumentados com a consulta do usuário e o prompt, o FM não será capaz de fornecer a resposta correta no caso de pesquisa semântica.

Agora vamos olhar para o RetrieveAndGenerate API com busca híbrida para entender a resposta final gerada pelo FM.

API RetrieveAndGenerate

A RetrieveAndGenerate A API consulta uma base de conhecimento e gera uma resposta com base nos resultados recuperados. Você especifica o ID da base de conhecimento, bem como o FM para gerar uma resposta a partir dos resultados. O Amazon Bedrock converte as consultas em embeddings, consulta a base de conhecimento com base no tipo de pesquisa e, em seguida, aumenta o prompt do FM com os resultados da pesquisa como informações de contexto e retorna a resposta gerada pelo FM.

Vamos usar a consulta “Em 31 de dezembro de 2023, qual é a metragem quadrada alugada para lojas físicas na América do Norte?” e pergunte ao RetrieveAndGenerate API para gerar a resposta usando nossa consulta:

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

A seguir estão os resultados usando a pesquisa híbrida:

22,871 thousand leased square feet

A seguir estão os resultados usando a pesquisa semântica:

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

A resposta real para a consulta é 22,871 thousand leased square feet, que é gerado pela pesquisa híbrida. Os resultados de pesquisa recuperados para pesquisa híbrida incluíram informações sobre a metragem quadrada alugada para lojas físicas na América do Norte, enquanto a pesquisa semântica não conseguiu buscar as informações corretas do armazenamento vetorial devido à tradução de incorporações. Portanto, o FM não conseguiu fornecer a resposta correta porque não tinha os resultados de pesquisa corretos e mais relevantes.

No entanto, para questões mais genéricas que não envolvem entidades como physical stores or North America, tanto a pesquisa híbrida quanto a semântica fornecem resultados semelhantes.

A seguir estão exemplos de respostas de algumas consultas que demonstram casos em que a pesquisa híbrida e a semântica produzem resultados semelhantes.

Questão Pesquisa Semântica: API RAG Pesquisa híbrida: API RAG
Como a Amazon atende desenvolvedores e empresas? Atendemos desenvolvedores e empresas de todos os tamanhos, incluindo start-ups, agências governamentais e instituições acadêmicas, por meio da AWS, que oferece um amplo conjunto de serviços de tecnologia sob demanda, incluindo computação, armazenamento, banco de dados, análises e aprendizado de máquina, e outros serviços Atendemos desenvolvedores e empresas de todos os tamanhos, incluindo start-ups, agências governamentais e instituições acadêmicas, por meio da AWS, que oferece um amplo conjunto de serviços de tecnologia sob demanda, incluindo computação, armazenamento, banco de dados, análises e aprendizado de máquina, e outros serviços.
Quem são os diretores executivos e diretores da Amazon em 24 de janeiro de 2024? Os diretores executivos da Amazon em 2024 incluem Andrew R. Jassy como presidente e CEO, Douglas J. Herrington como CEO Worldwide Amazon Stores, Brian T. Olsavsky como vice-presidente sênior e diretor financeiro, Shelley L. Reynolds como vice-presidente , Controlador Mundial e Diretor de Contabilidade, Adam N. Selipsky como CEO da Amazon Web Services e David A. Zapolsky como Vice-Presidente Sênior de Políticas Públicas Globais e Conselheiro Geral. A partir de 2024, Jeffrey P. Bezos atua como presidente executivo da Amazon.com. Andrew R. Jassy atua como presidente e diretor executivo. Outros diretores executivos incluem Douglas J. Herrington como CEO Worldwide Amazon Stores, Brian T. Olsavsky como vice-presidente sênior e diretor financeiro, Shelley L. Reynolds como vice-presidente, controlador mundial e diretor de contabilidade, e Adam N. Selipsky como CEO Amazon Web Services. David A. Zapolsky atua como vice-presidente sênior de políticas públicas globais e conselheiro geral

Use opções de pesquisa híbrida e pesquisa semântica por meio do console Amazon Bedrock

Para usar opções de pesquisa híbrida e semântica no console do Amazon Bedrock, conclua as seguintes etapas:

  1. No console do Amazon Bedrock, escolha Base de conhecimento no painel de navegação.
  2. Escolha a base de conhecimento que você criou.
  3. Escolha Base de conhecimento de teste.
  4. Escolha o ícone de configurações.
    Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.
  5. Escolha Tipo de pesquisa¸ selecionar Pesquisa híbrida (semântica e texto).
    Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Por padrão, você pode escolher um FM para obter uma resposta gerada para sua consulta. Se quiser ver apenas os resultados recuperados, você pode alternar Gerar resposta off para obter apenas os resultados recuperados.

Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Conclusão

Nesta postagem, abordamos o novo recurso de consulta nas bases de conhecimento do Amazon Bedrock, que permite a pesquisa híbrida. Aprendemos como configurar a opção de pesquisa híbrida no SDK e no console Amazon Bedrock. Isto ajuda a superar algumas das limitações de depender apenas da pesquisa semântica, especialmente para pesquisar grandes coleções de documentos com conteúdo diversificado. O uso da pesquisa híbrida depende do tipo de documento e do caso de uso que você está tentando implementar.

Para recursos adicionais, consulte o seguinte:

Referências

Melhorando o desempenho de recuperação em pipelines RAG com pesquisa híbrida


Sobre os autores

Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Mani Khanuja é líder de tecnologia - especialistas em IA generativa, autora do livro Applied Machine Learning and High Performance Computing on AWS e membro do Conselho de Administração da Women in Manufacturing Education Foundation Board. Ela lidera projetos de aprendizado de máquina em vários domínios, como visão computacional, processamento de linguagem natural e IA generativa. Ela fala em conferências internas e externas, como AWS re:Invent, Women in Manufacturing West, webinars no YouTube e GHC 23. Em seu tempo livre, ela gosta de fazer longas corridas na praia.

Bases de conhecimento do Amazon Bedrock agora oferecem suporte à pesquisa híbrida | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Pallavi Nargund é arquiteto de soluções principal na AWS. Em sua função como facilitadora de tecnologia em nuvem, ela trabalha com os clientes para entender seus objetivos e desafios e fornecer orientação prescritiva para atingir seus objetivos com as ofertas da AWS. Ela é apaixonada por mulheres na tecnologia e é membro principal do Women in AI/ML na Amazon. Ela palestra em conferências internas e externas, como AWS re:Invent, AWS Summits e webinars. Fora do trabalho, ela gosta de voluntariado, jardinagem, ciclismo e caminhadas.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS