LangChain è un framework open source per costruire applicazioni che usano LLM, in particolare quando serve combinare LLM con altre cose (database, API, tool, memory, RAG).
Linguaggi: Python (principale) e JavaScript/TypeScript (LangChainJS).
Componenti principali:
- Models: integrazioni con OpenAI, Claude, Gemini, modelli locali.
- Prompts: gestione di template di prompt.
- Chains: sequenze di chiamate (output di una è input dell'altra).
- Agents: loop "pensa → agisci → osserva → ripensa".
- Memory: gestire conversazioni multi-turno.
- Retrievers: per RAG (recuperare documenti rilevanti).
- Document loaders: PDF, Word, HTML, ecc.
- Vector stores: integrazioni con Pinecone, Chroma, Qdrant.
Cosa puoi costruire:
- Chatbot RAG aziendali.
- Agenti che usano tool.
- Pipeline di analisi documenti.
- Workflow IA complessi.
Critiche:
- Astrazioni eccessive: a volte complica più di quanto aiuti.
- Cambia spesso, breaking changes.
- Performance overhead.
- Debugging difficile in pipeline lunghe.
Alternative emerse: LlamaIndex (più focused su RAG), pipelines custom (per chi vuole controllo), Haystack (alternative europea).
LangSmith: tool di monitoring/debugging dello stesso team. Comodo per applicazioni in produzione.
Verdetto: LangChain è uno strumento potente ma complesso. Per progetti seri, vale la pena provarlo. Per progetti semplici, spesso 100 righe di codice "puro" sono più chiari.