Compartilhar via


Bancos de dados vetoriais para .NET + IA

Os bancos de dados vetoriais são projetados para armazenar e gerenciar inserções de vetores. Inserções são representações numéricas de dados não numéricos que preservam o significado semântico. Você pode vetorizar palavras, documentos, imagens, áudio e outros tipos de dados. Use inserções para ajudar um modelo de IA a entender o significado das entradas para que ele possa executar comparações e transformações, como resumir texto, localizar dados contextualmente relacionados ou criar imagens de descrições de texto.

Por exemplo, você pode usar um banco de dados vetorial para:

  • Identificar imagens, documentos e músicas semelhantes com base no seus conteúdos, temas, sentimentos e estilos.
  • Identificar produtos semelhantes com base em suas características, recursos e grupos de usuários.
  • Recomendar conteúdo, produtos ou serviços com base nas preferências do usuário.
  • Identificar as melhores opções potenciais em um grande conjunto de escolhas para atender a requisitos complexos.
  • Identificar anomalias de dados ou atividades fraudulentas que sejam diferentes dos padrões predominantes ou normais.

Os bancos de dados vetoriais oferecem recursos de busca em vetores para encontrar itens semelhantes com base em suas características de dados, em vez de correspondências exatas em um campo de propriedade. A pesquisa de vetor funciona analisando as representações de vetor de seus dados que você criou usando um modelo de inserção de IA, como os modelos de inserção do Azure OpenAI. O processo de pesquisa mede a distância entre os vetores de dados e seu vetor de consulta. Os vetores de dados mais próximos do vetor de consulta são os mais semelhantes semanticamente.

Alguns serviços, como o Azure Cosmos DB for MongoDB vCore, fornecem recursos nativos de busca em vetores para seus dados. Outros bancos de dados podem ser aprimorados com a busca em vetores indexando os dados armazenados usando um serviço como a Pesquisa de IA do Azure, que pode verificar e indexar seus dados para fornecer recursos de busca em vetores.

Fluxos de trabalho de busca em vetores com .NET e OpenAI

Os bancos de dados vetoriais e seus recursos de pesquisa são especialmente úteis em fluxos de trabalho do padrão RAG com o OpenAI do Azure. Esse padrão permite aumentar seu modelo de IA com conhecimento adicional semanticamente avançado de seus dados. Um fluxo de trabalho de IA comum usando bancos de dados vetoriais inclui estas etapas:

  1. Criar inserções para seus dados usando um modelo de inserção do OpenAI.
  2. Armazenar e indexar as inserções em um banco de dados vetorial ou serviço de pesquisa.
  3. Converter os prompts de usuário do seu aplicativo em inserções.
  4. Realize uma pesquisa vetorial em seus dados, comparando os embeddings do prompt do usuário com os embeddings em seu banco de dados.
  5. Use um modelo de linguagem como o GPT-4o para montar uma resposta fácil de usar a partir dos resultados da busca vetorial.

Visite o tutorial Implementar o OpenAI do Azure com RAG usando a busca em vetores em um aplicativo .NET para obter um exemplo prático desse fluxo.

Outros benefícios do padrão RAG incluem:

  • Gerar respostas contextualmente relevantes e precisas para prompts de usuários a partir de modelos de IA.
  • Supere os limites de tokens do LLM — a busca vetorial no banco de dados realiza o trabalho pesado.
  • Reduzir os custos de ajustes frequentes em dados atualizados.