Introdução ao Contextual Retrieval
- Para que um modelo de IA seja útil em um contexto específico, ele precisa de conhecimento de base
- Um chatbot de suporte ao cliente precisa de conhecimento sobre um negócio específico, e um bot de análise jurídica precisa de amplo conhecimento sobre casos anteriores
- Os desenvolvedores normalmente usam Retrieval-Augmented Generation (RAG) para aprimorar o conhecimento dos modelos de IA
- Soluções tradicionais de RAG frequentemente não conseguem recuperar informações relevantes porque removem o contexto ao codificar as informações
Método de Contextual Retrieval
- Contextual Retrieval é um método que melhora significativamente a etapa de recuperação do RAG
- Ele usa duas subtecnologias: Contextual Embeddings e Contextual BM25
- Reduz o número de recuperações malsucedidas em 49% e, quando combinado com reranking, pode reduzir em até 67%
- É possível implantar facilmente uma solução de Contextual Retrieval usando Claude
Simplesmente usar prompts mais longos
- Se a base de conhecimento tiver menos de 200.000 tokens, pode ser melhor fornecer toda a base de conhecimento ao modelo
- Com o recurso de prompt caching do Claude, essa abordagem é mais rápida e mais econômica
- À medida que a base de conhecimento cresce, é necessária uma solução mais escalável
Conceitos básicos de RAG
- RAG é usado para lidar com grandes bases de conhecimento
- A base de conhecimento é dividida em pequenos trechos de texto, e um modelo de embeddings é usado para codificar o significado
- Os dados são armazenados em um banco de dados vetorial para recuperação com base em similaridade semântica
- BM25 é eficaz para encontrar correspondências exatas de palavras ou frases
Limitações do RAG tradicional
- O processo de dividir documentos em pequenos trechos pode destruir o contexto
- Por exemplo, para uma pergunta sobre informações financeiras de uma empresa específica, pode ser retornado um trecho sem contexto suficiente
Implementação de Contextual Retrieval
- Um índice de embeddings e um índice BM25 são criados adicionando contexto descritivo a cada trecho
- Claude é usado para gerar um contexto conciso para cada trecho
- O uso de prompt caching pode reduzir custos
Melhoria de desempenho
- Contextual Embeddings reduz a taxa de falha de recuperação em 35%
- Combinar Contextual Embeddings com Contextual BM25 reduz a taxa de falha de recuperação em 49%
Considerações de implementação
- É preciso considerar como dividir os documentos em trechos, a escolha do modelo de embeddings e prompts personalizados de contextualização
- Incluir mais trechos aumenta a probabilidade de conter informações relevantes
Melhoria de desempenho com reranking
- O reranking melhora a qualidade da resposta ao enviar ao modelo apenas os trechos mais relevantes
- Contextual Embedding e Contextual BM25 com reranking reduzem a taxa de falha de recuperação em 67%
Conclusão
- Combinar Embeddings e BM25 pode gerar resultados melhores
- Os embeddings da Voyage e do Gemini são os mais eficazes
- Enviar os 20 principais trechos ao modelo é a abordagem mais eficaz
- Adicionar contexto melhora significativamente a precisão da recuperação
- O reranking melhora ainda mais o desempenho
Resumo do GN⁺
- Contextual Retrieval é um método que pode melhorar significativamente a precisão de recuperação de modelos de IA
- É especialmente útil ao lidar com grandes bases de conhecimento
- Com o recurso de prompt caching do Claude, ele pode ser implementado de forma econômica
- Outros projetos com funcionalidades semelhantes incluem o GPT-3 da OpenAI e o BERT do Google
1 comentários
Comentários no Hacker News
Primeiro comentário
Segundo comentário
Terceiro comentário
Quarto comentário
Quinto comentário
Sexto comentário
Sétimo comentário
Oitavo comentário
Nono comentário
Décimo comentário