RAG completo: uma arquitetura moderna para hiperpersonalização
A personalização é a chave para a retenção de clientes a longo prazo em muitos produtos centrados no usuário. Por exemplo, a Netflix ou a Disney podem garantir a satisfação do usuário por meio de recomendações personalizadas de filmes; aplicativos de entrega de comida podem sugerir restaurantes e pratos com base em pedidos anteriores, etc. A Inteligência Artificial fornece diferentes técnicas para aproveitar os dados históricos do cliente e oferecer personalização nos produtos.
Mike Del Balso, CEO e Cofundador da Tecton, recentemente apresentou uma palestra sobre o uso da arquitetura RAG para melhorar a personalização de mecanismos de Recomendação de IA no Unstructured Data Meetup organizado pela Zilliz.
Mike compartilhou um fato interessante que ele havia lido em um relatório de consultoria: “Haverá 5 trilhões de dólares de valor agregado ao PIB global provenientes da personalização impulsionada por IA.” Ele também apresentou uma arquitetura baseada em Geração Aumentada por Recuperação (RAG) para alcançar a hiperpersonalização.
Este post recapitulará seus principais insights sobre personalizações impulsionadas por IA e como as empresas podem potencializar seus produtos com inteligência artificial.
Assista à reprise da palestra de Mike
Personalização com Modelos de IA Generativa
Mike começa com um exemplo de caso de uso: construir um produto semelhante ao Booking.com ou MakeMyTrip, mas com recomendações de viagem hiperpersonalizadas.
Modelos de Linguagem de Grande Escala (LLMs) como GPT são treinados em vastos corpora de texto e podem gerar recomendações de viagem. Por exemplo, se consultarmos um LLM, “Para onde devo ir neste verão ?” obteremos respostas baseadas nos destinos de verão mais populares, como Paris ou Tóquio. Mas precisamos de uma forma de adaptar essas recomendações a clientes individuais.
Duas técnicas estão disponíveis para melhorar seu modelo de recomendação: ajuste fino e engenharia de prompts.
Embora essas técnicas possam tornar a resposta do modelo mais relevante com base nos dados de treinamento disponíveis, elas não fornecem uma maneira de fornecer os dados de entrada do cliente. Full-RAG é um método que pode resolver esse problema. Antes de entendermos o que é Full-RAG e como funciona, vamos recapitular como o RAG tradicional funciona.
Introdução ao RAG
Geração Aumentada por Recuperação (RAG) é uma técnica que melhora a resposta de grandes modelos de linguagem em termos de qualidade e relevância. Um Mecanismo RAG geralmente consiste em dois componentes principais: um Recuperador e um Gerador. Um recuperador combina um modelo de embeddings e um banco de dados vetorial como Milvus ou Zilliz Cloud, e um gerador é o LLM.
Na etapa de recuperação, pesquisamos no banco de dados vetorial que armazena todos os documentos e selecionamos os mais relevantes. Os documentos ou candidatos Top-K são selecionados e então fornecidos como entrada para o modelo de IA Generativa. O modelo gera uma resposta coerente usando a consulta e os candidatos Top-K.
O pipeline RAG abaixo explica como o RAG tradicional funciona.
Todos os documentos são transformados em embeddings vetoriais e armazenados em um banco de dados vetorial.
A consulta do usuário também é convertida em um embedding vetorial.
Usamos esse vetor para recuperar os candidatos mais semelhantes do banco de dados vetorial.
Esses principais candidatos, como Paris e Tóquio, são enviados para um LLM, que gera a resposta.
No entanto, os principais candidatos recuperados aqui não têm contexto sobre os gostos e desgostos do usuário específico, portanto são “Candidatos Descontextualizados.”
Full-RAG: Adicionando Contexto no Pipeline de Recuperação
Como os candidatos recuperados em um pipeline RAG básico são descontextualizados, precisamos adicionar esse contexto para obter melhores respostas. O objetivo é construir um mecanismo com alto contexto e expertise.
Mike enfatiza como fornecer contexto pode enriquecer as informações recuperadas: “_Contexto é a informação relevante que os Modelos de IA usam para entender uma situação e tomar decisões.”
No exemplo de caso de uso anterior de construção de um Agente de Viagens de IA, podemos adicionar contexto ao modelo de duas maneiras:
1: Adicionar Contexto dos Candidatos (Locais): Ao recomendar uma cidade, o modelo deve estar ciente dos detalhes da dinâmica. Por exemplo, o clima atual, tipo de atividades, culinárias locais famosas, um orçamento aproximado, locais históricos ou patrimoniais para visitar, etc. Essas informações ajudam os usuários a planejar suas férias.
- Contexto Personalizado do Usuário: Refere-se a fornecer informações sobre quem é o usuário e quais são suas preferências e restrições. Essas informações enriquecem os principais candidatos recuperados com informações no nível do usuário. Por exemplo, fornecer contexto sobre perguntas como:
O usuário está interessado em história?
Que clima o usuário preferiria?
O usuário terá interesse em atividades de esportes de aventura?
Que tipo de acomodação ele prefere?
Com contexto sobre o que uma cidade oferece e o que o usuário deseja, o modelo de IA pode corresponder melhor ao destino adequado. Além disso, pode sugerir atividades, eventos e opções de acomodação adaptadas às preferências dele.
Como Podemos Construir Contextos Personalizados Incríveis com Tecton?
A Tecton desenvolveu uma plataforma de features para integrar diferentes fontes de dados empresariais. Você pode criar e gerenciar facilmente o contexto personalizado que precisamos fornecer ao algoritmo de recomendação. A plataforma de features pega o candidato e os dados relevantes do usuário e recupera candidatos contextualizados de um banco de dados vetorial como o Milvus.
Os contextos personalizados podem ser construídos e gerenciados em quatro níveis amplos.
Nível 0: Base
Esta é a camada base ou o ponto de partida, sem informações adicionais. O diagrama abaixo mostra como um RAG funciona com zero informação contextual.
Nível 1: Contexto em Lote
O próximo nível fornece dados históricos, como histórico de viagens, atividades favoritas, etc. Implementar esse nível é desafiador, pois você deve criar pipelines para recuperar e unir dados de diferentes warehouses ou data lakes. Você também precisaria criar conjuntos de dados de avaliação histórica para benchmarking e desenvolvimento.
A plataforma de features da Tecton simplifica o processo de construção de contexto em lote. Você pode começar com uma definição de contexto simples como “Quais são os últimos cinco lugares que este usuário visitou?”. A plataforma também fornece um SDK em Python para codificar sua definição e dá suporte à leitura e avaliação dos dados em tempo real.
Nesta etapa, seu LLM de recomendação pode extrair insights do contexto histórico e fornecer sugestões. Por exemplo, se o usuário visitou muitos locais históricos no passado, ele sugeriria visitar os templos da antiga cidade de Kyoto.
Nível 2: Contexto de Dados em Lote + Streaming
Adicionar informações de streaming sobre o usuário, como os filmes, vídeos e blogs que ele assiste e lê, pode ajudar nosso modelo a entender seus interesses atuais. Essas informações de streaming podem incluir dados de pesquisa do usuário, dados de compra ou interações de sessão em páginas da web.
O desafio aqui é incorporar pipelines de dados de streaming e colocá-los em produção. Ao implementar em escala, o custo tanto para a construção do modelo quanto para a inferência em tempo real pode ser maior.
A Tecton simplifica a criação de contexto de streaming. Por exemplo, ela começa com uma definição de contexto simples: "Na última hora, sobre quais tópicos o usuário assistiu a um vídeo ?”. Isso pode ser codificado no SDK Python da plataforma. Podemos testá-lo, implantá-lo em produção e usá-lo em tempo real. A recomendação nesse estágio é significativamente melhor do que a anterior. Por exemplo, se o usuário está pesquisando voos para o Japão e adora alta gastronomia, o LLM irá criar uma experiência gastronômica no Japão.
Nível 3: Dados em lote + Streaming + Contexto em tempo real
O próximo estágio é incorporar dados em tempo real para obter um sinal de alta qualidade. Esse contexto pode ajudar seu modelo a entender melhor a intenção do usuário. Esses dados incluem as consultas de pesquisa do usuário e a busca de dados de outros aplicativos em tempo real. Por exemplo, precisamos consultar preços de voos em tempo real para sugerir a opção mais barata.
O maior desafio é integrar as fontes de dados em tempo real de terceiros e gerenciar o trade-off entre velocidade e custos. Com recomendações personalizadas em tempo real, os usuários as considerarão muito valiosas, pois economizam tempo para eles em vez de fazerem pesquisas sozinhos.
Você também poderia adicionar um contexto em nível de feedback além disso. O feedback do usuário sobre a recomendação fornecida pode ajudar o modelo a seguir na direção certa.
Conclusão
O contexto pode aprimorar a personalização de IA em inúmeros casos, como experiências de compra personalizadas, criação de chatbots, fornecimento de aconselhamento financeiro pessoal ou recomendação de novos filmes. Níveis mais altos de personalização melhoram a experiência do produto, mas a dificuldade de construção aumenta paralelamente.
RAG é uma técnica importante para fornecer aos LLMs informações adicionais específicas de domínio para obter informações melhores e mais relevantes. Ela também é a chave para a retenção de clientes a longo prazo para muitos produtos GenAI centrados no usuário.
Um RAG padrão compreende um recuperador alimentado por banco de dados vetorial e um gerador LLM. Todas as informações adicionais são armazenadas em um banco de dados vetorial como Milvus, e o LLM gera respostas com base nas informações recuperadas que são relevantes para as consultas dos usuários.
Embora eficaz para lidar com alucinações, um sistema RAG padrão fica aquém em casos de uso como fornecer recomendações hiperpersonalizadas. Isso ocorre porque os candidatos top-k recuperados podem não ter um contexto mais personalizado sobre os gostos e desgostos do usuário específico.
A Tecton fornece uma solução que monta o contexto personalizado para LLMs, simplificando o processo para as empresas. No entanto, desafios significativos permanecem, como controle de versão, governança de modelos e depuração para encontrar a causa raiz.
Para obter mais informações sobre este tópico, assista à gravação do vídeo do meetup do Mike.
Continue lendo

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.


