Home › Fóruns › Domine LLMs com LangChain › Base de documentos – exportação e atualização incremental. › Responder a: Base de documentos – exportação e atualização incremental.
Olá!
Tanto o Faiss quanto o ChromaDB são opções viáveis para rodar localmente sem depender de APIs, mas eles têm características diferentes, então a escolha vai depender das suas necessidades específicas. Esse artigo explica bem as diferenças de cada e onde um pode ser melhor que outro, mas basicamente: Faiss é altamente escalável e principalmente na busca vetorial, pode ser preferível se seu principal objetivo é velocidade e eficiência em buscas especialmente em grandes conjuntos de dados; já Chroma é mais usado quando preza por flexibilidade maior, geralmente mais fácil de gerenciar, trabalhando com metadados para uma busca otimizada.
Caso tenha preocupações com eficiência, o Faiss tende a ser melhor nesse quesito, além de ser mais otimizada para se trabalhar com GPU (então se tiver uma à disposição será mais interessante). Ainda quanto à performance, recomendo dar uma olhada nesse comparativo.
Para adição incremental de documentos, você pode usar o método add_documents (exemplo).
E para salvar localmente, você pode usar o método save_local(), que também foi usado durante o projeto 3. E depois, usar a função load_local, assim por exemplo:
vector_store.save_local(“faiss_index”)
n_vector_store = FAISS.load_local(“faiss_index”, embeddings, allow_dangerous_deserialization=True)
Referente à ideia de ter múltiplas bases de mapeamento para diferentes tipos de conteúdo (legislação e monografias, por exemplo) realmente é bem interessante! Um agente LLM poderia ser configurado para direcionar as buscas para a base apropriada dependendo do contexto da consulta. Então usar um agente para conectar um LLM às diferentes bases facilita a modularidade e garante que você consiga expandir as funcionalidades, inclusive buscando em bases como de legislação interna e externa.
- Esta resposta foi modificada 1 semana, 1 dia atrás por Gabriel Alves.