Couchbase Mobile

Vector Search na borda com o Couchbase Mobile

Temos o prazer de anunciar o lançamento do Couchbase Lite 3.2 com suporte para pesquisa de vetores. Esse lançamento segue os passos de Suporte à pesquisa vetorial no Capella e no Couchbase Server 7.6Agora, com o suporte à pesquisa vetorial no Couchbase Lite, permitimos suporte da nuvem à borda para pesquisa vetorial que potencializa os aplicativos de IA na nuvem e na borda.

Nesta postagem do blog, discutirei os principais benefícios do suporte à pesquisa vetorial na borda, incluindo uma breve análise dos casos de uso que se enquadram em seus aplicativos Couchbase Lite.

O que é o Vector Search?

Pesquisa vetorial é uma técnica para recuperar semanticamente itens semelhantes com base em incorporação de vetores representações dos itens em um espaço multidimensional. As métricas de distância são usadas para determinar a similaridade entre os itens. A pesquisa vetorial é um componente essencial da IA generativa e aplicativos de IA preditiva.  

Pilha móvel do Couchbase

Se você é novo no Couchbase, aqui está uma rápida introdução ao Couchbase Mobile. 

O Couchbase Mobile é um off-line primeiroA plataforma de banco de dados de nuvem a ponta. Ela é composta do seguinte: 

Banco de dados na nuvem: Disponível como um banco de dados como serviço totalmente gerenciado e hospedado com Couchbase Capella, ou implantar e hospedar Servidor Couchbase por conta própria.

Banco de dados incorporado: Couchbase Lite  é um banco de dados NoSQL incorporado com todos os recursos para aplicativos móveis, de desktop e de IoT. 

Sincronização de dados: Um gateway seguro para sincronização de dados pela Web, bem como sincronização ponto a ponto entre dispositivos. Oferecido como sincronização totalmente hospedada e gerenciada com Serviços de aplicativos Capella, ou instalar e gerenciar Gateway de sincronização do Couchbase você mesmo.

Confira nosso documentação para obter mais informações.

Casos de uso e benefícios do Vector Search

Embora os benefícios do pesquisa vetorial são razoavelmente bem compreendidos, por que você gostaria de fazer uma pesquisa vetorial na borda? 

Pesquisa semântica no modo off-line primeiro

Os aplicativos em que as pesquisas simples baseadas em texto são insuficientes agora podem oferecer suporte a pesquisas semânticas em dados locais para recuperar dados contextualmente relevantes, mesmo quando o dispositivo estiver no modo off-line. Isso garante que os resultados da pesquisa estejam sempre disponíveis. 

Exemplo

Considere um aplicativo de campo clássico Os funcionários de serviços públicos em locais de reparo e áreas de desastre operam em áreas com pouca ou nenhuma conectividade com a Internet:

    • As palavras, linha, cabo, fio são sinônimos para uma empresa de serviços públicos. Quando os funcionários da empresa de serviços públicos em campo pesquisam a frase,  linha, documentos com cabo, fio também precisam ser devolvidos. 
    • Usando a pesquisa de texto completo (FTS), o aplicativo terá de manter uma lista de sinônimos que é difícil de criar, gerenciar e manter.  
    • A relevância também é importante. Portanto, uma consulta para: procedimentos de segurança para linhas elétricas caídas deve se concentrar em manuais relacionados a linhas de energia derrubadas, cabos de eletricidade, linhas de alta tensão etc.

Aliviando as preocupações com a privacidade dos dados

Um dos principais casos de uso de um banco de dados de pesquisa vetorial é a capacidade de buscar dados contextualmente relevantes. Os resultados da pesquisa são então incluídos como dados de contexto para consultas enviadas a um modelo de linguagem ampla (LLM) para personalizar as respostas das consultas - essa é a base do Geração Aumentada por Recuperação (RAG)). A execução de pesquisas em dados de natureza privada ou sensível pode gerar preocupações com a privacidade. Ao realizar pesquisas em um dispositivo local, podemos restringir as pesquisas apenas a usuários autenticados e autorizados a acessar os dados privados no dispositivo. Todas as informações de identificação pessoal (PII) dos resultados da pesquisa vetorial podem ser editadas e, em seguida, aproveitadas na consulta RAG para um LLM.

Além disso, se um LLM personalizado for implantado no local da borda, por exemplo, um hospital ou uma loja de varejo, qualquer preocupação com o envio dos resultados de pesquisa contextualmente relevantes pela Internet para um serviço de nuvem remoto será ainda mais atenuada.

Exemplo

Considere o exemplo a seguir de um aplicativo de assistência médica:

    • Um médico de um hospital está procurando opções de tratamento para um paciente que está se recuperando de uma cirurgia.
    • O contexto relevante do paciente é recuperado do histórico médico e das preferências. O acesso a esses dados é autenticado e autorizado.
    • O contexto do paciente é enviado junto com a consulta para um modelo de LLM de borda hospedado no hospital, que pode gerar um plano de recuperação personalizado.

Redução do custo por consulta

Quando você tem centenas de milhares de clientes conectados consultando um LLM baseado em nuvem, a carga no modelo de nuvem e os custos operacionais de execução do modelo baseado em nuvem podem ser consideravelmente altos. Ao executar consultas localmente no dispositivo, podemos economizar nos custos de transferência de dados e nas taxas de saída da nuvem, além de descentralizar os custos operacionais. 

Exemplo

Considere o seguinte exemplo de um aplicativo de assistente de atendimento ao cliente digital:

    • Uma loja de varejo sincroniza com um catálogo de produtos, preços específicos da loja e dados de promoções para quiosques de atendimento ao cliente na loja (dispositivo de borda). 
    • Uma usuária no quiosque procura um chapéu que combine com a jaqueta que ela está usando, capturada por uma câmera. Ela também está interessada em chapéus que estejam em promoção. 
    • Em vez de os quiosques enviarem consultas de pesquisa para um servidor remoto, as pesquisas de similaridade são realizadas localmente, no quiosque, no catálogo para encontrar itens semelhantes que estão em promoção.
    • Como bônus, a imagem capturada pode ser descartada imediatamente do quiosque, aliviando as preocupações com a privacidade.

Pesquisas de baixa latência

As pesquisas executadas localmente em um conjunto de dados local usando um modelo incorporado local eliminam a variabilidade da rede e serão consistentemente rápidas. Mesmo nos casos em que o modelo não está incorporado no dispositivo local, mas é implantado no local da borda, o tempo de ida e volta (RTT) associado às consultas pode ser significativamente reduzido em comparação com as pesquisas feitas pela Internet.

Exemplo

Revisão do aplicativo de loja de varejo:

    • O catálogo de produtos, os preços específicos da loja e os documentos de promoções que são sincronizados com os quiosques de atendimento ao cliente incluem embeddings vetoriais. Os embeddings de vetor são gerados por modelos de embeddings LLM na nuvem.
    • Os documentos que são sincronizados são indexados localmente no quiosque.
    • Um cliente que está no quiosque da loja procurando um item específico faz uma busca regular por Tênis feminino Adidas tamanho 9 e também pode executar um encontrar itens relacionados A função de pesquisa de produtos é realizada de forma semelhante entre o produto que foi recuperado usando uma pesquisa regular e comparando-o com os documentos restantes do produto. A pesquisa é feita localmente e é rápida.
    • Nesse caso, enquanto as incorporações de vetores são geradas na nuvem, a pesquisa de similaridade é feita localmente. De fato, nesse aplicativo específico, não há necessidade nem mesmo de um modelo de incorporação no aplicativo de quiosque.

Suporte unificado de nuvem a borda para pesquisa de similaridade de vetores

Embora existam consultas que são mais adequadas para a nuvem, por motivos explicados anteriormente na postagem, há casos em que as consultas são mais adequadas para a borda. Ter a flexibilidade de executar consultas na nuvem, na borda ou em ambas permitirá que os desenvolvedores criem aplicativos que aproveitem o melhor dos dois mundos.

Exemplo

  • Considere um aplicativo bancário móvel em que o histórico de transações específicas do usuário dos últimos 6 meses é sincronizado e armazenado localmente no dispositivo
  • Um usuário está procurando transações relacionadas a uma compra que fez há alguns meses. A pesquisa é feita localmente, portanto é rápida e também está disponível off-line
  • As transações relacionadas a todos os usuários são armazenadas nos servidores em nuvem, onde a pesquisa semântica é usada pelo aplicativo de detecção de fraudes para detectar padrões de atividades fraudulentas

Mostre-me o código!

Agora que você está animado com os benefícios da pesquisa vetorial em seu aplicativo de borda, vamos ver o que é necessário para implementá-la. É bastante simples e requer apenas algumas linhas de código para trazer o poder da pesquisa semântica para o seu aplicativo de borda. O exemplo abaixo está em swift, mas confira a seção de recursos abaixo para obter trechos de código na linguagem de sua escolha.

Criação de um índice vetorial 

Neste exemplo, criamos um índice vetorial com os valores padrão. Os aplicativos têm a opção de personalizar ainda mais a configuração do índice vetorial com uma métrica de distância diferente, o tipo de codificação do índice e os parâmetros de treinamento do centroide:

Fazendo uma pesquisa de similaridade

Neste exemplo, estou executando uma consulta SQL++ para recuperar os 10 principais documentos semelhantes com sua descrição correspondente à incorporação de destino do searchPhrase:

 

Recursos

Aqui estão os links diretos para alguns recursos úteis.

Fique atento a uma próxima postagem no blog sobre arquiteturas de referência para dar suporte à pesquisa vetorial

 

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos

Priya Rajagopal é diretora sênior de gerenciamento de produtos da Couchbase, responsável pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente há mais de 20 anos em vários cargos técnicos e de liderança de produtos, com mais de 10 anos de foco em tecnologias móveis. Como delegada de padrões de IPTV da TISPAN, ela foi uma das principais colaboradoras das especificações de padrões de IPTV. Ela tem 22 patentes nas áreas de rede e segurança de plataforma.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.