This is exactly why I made a deep-dive video — LangChain changed massively since v0.0.x. All the old tutorials break because:
- Imports like `ConversationalRetrievalChain` moved or were deprecated
- Chains like `LLMChain` are gone
- You now use `.invoke()` instead of `.run()`
- New versions rely on Pydantic v2 and modular packages (like `langchain_core`, `langchain_openai`, etc.)
🎥 LangChain v0.3 Upgrade Fixes (YouTube)
💻 GitHub
Still learning myself, but this covers what broke and how to fix it in current LangChain.