1
resposta

Erros em todas as tentativas de instalação e configuração de ambiente para executar o RAG

Pessoa, boa noite!

Estou realizando as seguintes instalação:

%pip install -U --no-cache-dir
"langsmith<0.4"
"langchain>=0.3,<0.4"
"langchain-community>=0.3,<0.4"
"langchain-google-genai>=0.6.15,<2.0.1"
"faiss-cpu>=1.8.0.post1"
"chromadb==0.5.11"
"pinecone-client>=5,<6"
"langchain-pinecone>=0.1.3,<0.2"

E NECESSARIAMENTE é apresentado erro de incompatibilidade, ou seja, esse ajuste demora muito na execução do código completo. Sempre havendo a necessidade de teste e erro.
É possível informar uma instalação compatível com todas as ações executadas na atividade?

1 resposta

Entendo a frustração, sim, o ecossistema de versões de LangChain (e bibliotecas relacionadas, como LangSmith, ChromaDB, FAISS e pinecone-client) tem muitas incompatibilidades documentadas. Vou passar uma configuração sugerida que costuma funcionar bem num ambiente local para RAG (Retrieval-Augmented Generation) e alguns cuidados/boas práticas para minimizar dores.


Sugestão de versão compatível

Aqui está um conjunto de versões com boa chance de funcionar (para Python ≥ 3.10, idealmente 3.11) para atividades de curso de RAG:

langchain~=0.3.22
langsmith<0.4,>=0.1.0
langchain-community~=0.3.20
langchain-google-genai>=0.6.15,<1.0.0
faiss-cpu>=1.8.0.post1
chromadb==0.5.11
pinecone-client>=5,<6
langchain-pinecone>=0.1.3,<0.2

Note que essas versões correspondem mais ou menos às ranges que você citou e são próximas às que têm menos relato de conflito.

Cuidados e observações

  • Verifique os pré-requisitos de cada biblioteca: por exemplo, o pacote langchain-pinecone exige uma versão específica do pinecone-client. Há issue aberta referente a conflito entre versões maiores de pinecone-client e versões de langchain-pinecone. ([GitHub][1])
  • A biblioteca chromadb teve mudanças recentes que quebraram compatibilidade com langchain-chroma. ([GitHub][2])
  • Use ambiente virtual limpo (por exemplo venv ou conda) para evitar restos de versões antigas que geram conflito.
  • Quando instalar, prefira instalar tudo de uma vez via pip install … ou via requirements.txt, em vez de ir instalando pacote por pacote, assim o gerenciador de dependências pode resolver conflitos de versão.
  • Se aparecer erro tipo “ResolutionImpossible” ou “Could not install because … dependency conflict”, volte à versão anterior de algum dos pacotes que foi alterado recentemente.
  • Documente claramente no seu requirements.txt ou pyproject.toml as versões “fixas” (não usar >= sem limite, se possível) para evitar que novas versões quebram o seu ambiente.