Davide Zambiasiv4.x
Documentation
Writing

Article

The LangChain series, three years on

In 2023 I wrote a nine-part series on building with LangChain, from environment setup to chatting with your own data. What it covered, what has changed, and where to read it.

Published · 1 min read

Between June and August 2023 I published a nine-part series on building LLM apps with LangChain, ending in a working “chat with your data” pipeline. It was written while the framework was moving fast, and three years later the imports have moved even faster. Rather than migrate nine posts that pin old APIs, this page keeps the map and the honest context.

What the series covered

The through-line was one pipeline: load documents, split them, embed the chunks, store the vectors, and retrieve them into a conversation.

  1. Environment setup
  2. Project structure
  3. Data loaders
  4. Text splitters
  5. Embeddings and vector stores
  6. Pinecone vector database
  7. Chat with your data
  8. Enable streaming
  9. Practical project: a CLI chatbot

The companion project from the same period, chat with any GitHub repo, applies the full pattern to a real codebase.

What has changed since 2023

  • LangChain split into langchain-core, langchain-community, and per-provider packages; most 2023 import paths no longer resolve.
  • Chains gave way to LCEL and then to LangGraph for anything stateful.
  • The retrieval pattern itself (load, split, embed, store, retrieve) is unchanged. That part of the series still teaches the right mental model.

If you’re learning the concepts, the series holds up. If you’re copy-pasting code, expect to translate the imports to current packages.

Was this page helpful? Tell me by email.