Unidade 2 / 11

Incorporação e lógica de banco de dados vetorial

Ganhos:

  • Entenda que a incorporação transforma o texto em um vetor no espaço semântico e significados semelhantes são vetores próximos
  • Explicando como a pesquisa de RNA funciona com métricas de similaridade de cosseno e ponto
  • Seleção de bancos de dados vetoriais comuns com base no custo, escala e necessidade de filtragem de metadados

No cerne do RAG está uma única pergunta: "Qual trecho de texto é mais semelhante à pergunta do usuário?" O computador processa texto com números, não literalmente. É por isso que precisamos primeiro converter o texto em números que carreguem seu significado. Incorporação é isso: o processo de converter um texto em uma sequência de números (vetor) que representa o significado daquele texto. Ao terminar esta unidade, você saberá como funciona a incorporação, como a similaridade é medida e como escolher o banco de dados vetorial correto.

Incorporação: traduzindo significado em coordenadas

Um modelo de incorporação (uma inteligência artificial especialmente treinada) converte o texto fornecido em um vetor de, por exemplo, 1.024 números. Pense neste vetor como uma coordenada em um espaço multidimensional. A mágica é esta: textos com significados semelhantes caem em coordenadas próximas neste espaço.

Um exemplo simples: “férias anuais”, “direito a férias” e “licenças anuais remuneradas” usam palavras diferentes, mas significam a mesma coisa – seus vetores são próximos um do outro. “Conta de folha de pagamento” é uma questão diferente – seu vetor é distante. Então o usuário pergunta “quantos dias de férias eu tenho?” Quando você pergunta, podemos até encontrar um documento que não contém a palavra “férias”, mas diz “as férias anuais são de 14 dias”. Isso é o que a pesquisa clássica por palavra-chave (pesquisa que corresponde exatamente à palavra) não pode fazer.

Dica: pense na incorporação como uma “impressão digital de significado”. As impressões digitais de duas frases com o mesmo significado parecem semelhantes; Mesmo que as palavras sejam diferentes.

Uma regra importante: o modelo que você usa ao incorporar a pergunta deve ser o mesmo modelo que você usa ao incorporar documentos. Modelos diferentes produzem espaços diferentes; as coordenadas tornam-se incomparáveis.

Como medir a similaridade?

Existem vários métodos para medir a semelhança de dois vetores. O mais comum é a similaridade de cossenos: mede o ângulo entre dois vetores. Se o ângulo for pequeno (vetores apontando na mesma direção), a similaridade é alta. O valor está entre −1 e 1; Perto de 1 = muito semelhante.

critério

O que isso mede?

Quando é preferido?

Cosseno

Ângulo (direção) entre vetores

O mais comum; padrão na semelhança semântica do texto

Produto escalar

Direção + magnitude juntas

Se os vetores forem normalizados, dá o mesmo resultado que o cosseno; é rápido

Euclidiano (distância euclidiana)

Distância reta entre coordenadas

Em alguns cenários de cluster; menos usado no texto

Na prática, a maioria dos modelos de incorporação produz vetores normalizados (tamanho definido como 1); Nesse caso, o cosseno e o produto escalar dão a mesma ordem. Não fique paralisado pelas decisões: comece com o cosseno.

Entre milhões de vetores, compará-los um por um é lento. É por isso que os bancos de dados vetoriais usam algoritmos ANN (Aproximadamente Vizinho Mais Próximo). ANN encontra "quase exatamente mais próximo" em vez de "exatamente mais próximo" muito rapidamente. Por exemplo, o método chamado HNSW pode retornar resultados em alguns milissegundos, mesmo para 10 milhões de vetores. Você ganha grande velocidade com um pequeno sacrifício de precisão.

O que o banco de dados vetorial faz?

Um banco de dados vetorial faz três coisas ao mesmo tempo: (1) armazena vetores, (2) encontra rapidamente os vetores mais semelhantes a um vetor de consulta, (3) filtra por metadados próximos a cada vetor. Metadados são as tags que você anexa a essa peça: arquivo de origem, data, departamento, nível de privacidade, etc. A filtragem de metadados é crítica no RAG empresarial; porque você precisa definir restrições como "pesquisar apenas nos documentos de 2025 do departamento financeiro".

# Registre-se no banco de dados de vetores (conceitual)vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("A licença anual remunerada é de 14 dias..."), text="A licença anual remunerada é de 14 dias...", metadata={"source": "ik_el_kitabi.pdf", "department": "IK", "date": "2025-06", "privacidade": "ic"})

# Resultado da pesquisa filtrada de metadados (conceitual) = vektor_db.search( vektor=embed("quantos dias de licença eu tenho?"), top_k=4, filter={"departamento": "RH", "privacidade": ["interno", "ligado"]})

Escolhendo o banco de dados certo

veículo

Aspecto em destaque

Situação adequada

Integrado/baseado em arquivo (biblioteca incorporada)

Sem instalação, máquina única

Protótipo, kit pequeno (<algumas centenas de milhares de peças)

Serviço de nuvem gerenciado

Dimensionamento e manutenção não são de sua responsabilidade

Produção, dados em rápido crescimento, equipe pequena

Código aberto em seu próprio servidor

Controle total, seus dados permanecem seus

Obrigação de privacidade, infraestrutura existente

Adição ao banco de dados existente

Você não gerencia sistemas separados

Adicionando suporte vetorial ao banco de dados que você já usa

Pergunte na hora de escolher: Quantas peças serão? Quão crítica é a filtragem de metadados? Os dados podem sair da empresa (confidencialidade)? A equipe pode operar uma infraestrutura? Muitas vezes é aconselhável começar pequeno e expandir conforme necessário.

Abordagem Fraca/Abordagem Forte

Fraco (armazenamento de incorporação simples, sem metadados):

Basta salvar o texto e o vetor. Pesquisa: retorna os 4 vetores mais semelhantes.# Problema: não é possível filtrar como "somente documentos de RH atuais";# partes antigas/não autorizadas também podem ser incluídas na resposta.

Poderoso (metadados ricos + pesquisa filtrada):

Adicione fonte, data, departamento e etiqueta de privacidade a cada peça. Filtre de acordo com a autoridade e atualidade do usuário durante a busca: filter = {"privacy": user_authority, "date_date": "2024-01"}# Assim, o resultado é seguro e atualizado.

Três Mini Estojos

Caso 1 — Combinação de modelos errada. Uma equipe incorporou documentos com o modelo A e perguntas com o modelo B. As pesquisas retornaram resultados sem sentido e a taxa de respostas corretas permaneceu em 31%. Quando mudei para um único modelo (ambos do mesmo modelo de incorporação), a taxa saltou para 88%. Lição: pergunta e documento devem estar no mesmo espaço.

Caso 2 — Risco de privacidade sem metadados. Em uma empresa de saúde, todos os documentos do departamento foram colocados em um único pool sem metadados. Quando um vendedor fazia uma pergunta, o sistema contextualizava alguns dados do paciente. Ao adicionar metadados + filtro (de acordo com o nível de autorização), esse risco foi eliminado; Na recuperação, 12 peças não autorizadas não são trazidas.

Caso 3 — Gargalo de escala. Uma empresa de comércio eletrônico pesquisou 8 milhões de descrições de produtos com um método simples de “digitalizar tudo”; Cada consulta levou 6 segundos. Quando mudamos para RNA baseada em HNSW, o tempo diminuiu para 45 milissegundos, com perda de apenas 1% na precisão. Lição: ANN é obrigatória no grande conjunto.

Erros comuns

  • Incorporar a pergunta e o documento com diferentes modelos: Os resultados não têm sentido; sempre um modelo.
  • Ignorando metadados: você não pode filtrar; Você perde o controle da privacidade e da atualização.
  • Confundindo incorporação com criptografia: a incorporação carrega informações reversíveis; É errado presumir que dados confidenciais estão “ocultos”.
  • Construir uma infraestrutura desnecessariamente grande em um conjunto pequeno: um cluster gigante gerenciado por 5.000 peças é uma complexidade desnecessária.
  • Não se preocupe muito com o critério de similaridade: comece com cosseno no texto; O ajuste fino vem depois.
Cuidado: A incorporação incorpora o significado do texto em números, mas não "destrói" o conteúdo. Se um banco de dados vetorial vazar, os textos originais armazenados (na maioria das instalações o texto também é armazenado) também serão comprometidos. Mantenha o repositório de vetores tão confidencial quanto os documentos nele contidos.

Em resumo

  • A incorporação transforma o texto em um vetor de números que carrega seu significado; Significados semelhantes são vetores próximos.
  • A similaridade é frequentemente medida pelo cosseno; Para vetores normalizados, o produto escalar fornece o mesmo resultado.
  • Em big data, a RNA (por exemplo, HNSW) substitui a pesquisa exata: grande velocidade com pouco sacrifício de precisão.
  • Banco de dados vetorial realiza armazenamento vetorial + pesquisa por similaridade + filtragem de metadados; os metadados são essenciais para o RAG empresarial.
  • A pergunta e o documento deverão ser traduzidos com o mesmo modelo de incorporação; caso contrário, as coordenadas não poderão ser comparadas.

Tarefa de aplicativo

Extraia 10 passagens curtas (3-6 frases cada) do documento selecionado na unidade anterior. (1) Projete pelo menos três tags de metadados para cada peça (fonte, data e uma terceira apropriada ao contexto do seu negócio: departamento, produto, privacidade, etc.). (2) Escreva qual filtro de metadados deve ser aplicado para 3 perguntas de usuários diferentes. (3) Encontre 3 pares de perguntas e partes que expressem o mesmo significado em palavras diferentes (por exemplo, “direito de férias” ↔ “férias anuais”) e explique em uma frase por que eles não corresponderão à pesquisa por palavra-chave, mas corresponderão à incorporação.

lista de verificação

  • [ ] Posso dizer que a incorporação transforma o texto em um vetor no espaço semântico e significados semelhantes são próximos.
  • Eu sei que [] a similaridade do cosseno mede o ângulo e é a preferência padrão no texto.
  • [] Posso explicar por que a RNA é necessária em big data.
  • [ ] Eu sei por que os metadados são essenciais para a confidencialidade e o controle de atualização.
  • [ ] Sigo a regra de traduzir a pergunta e o documento com o mesmo modelo de incorporação.