Software Environment
Python
As LangChain, introduced in this book, is based on Python, the following is the requirements file containing the necessary libraries and modules for LangChain installation.
In my development environment, I have the following libraries installed:
Reminder: The community is evolving, and the library is adapting rapidly. The information presented here may change over time. This list serves as a reference for the current chapter being written.
beautifulsoup4 4.12.3
faiss-cpu 1.9.0
huggingface-hub 0.26.2
langchain 0.3.7
langchain-chroma 0.1.4
langchain-community 0.3.5
langchain-core 0.3.15
langchain-experimental 0.3.3
langchain-huggingface 0.1.2
langchain-ollama 0.2.0
langchain-openai 0.2.6
langchain-qdrant 0.2.0
langchain-text-splitters 0.3.2
numpy 1.26.4
pypdf 5.1.0
requests 2.32.3
requests-oauthlib 2.0.0
requests-toolbelt 1.0.0
sentence-transformers 3.2.1
torch 2.5.1
transformers 4.46.2
Architecture
Let’s observe the architectural overview:
- LangChain oversees the LLM and VectorStore components.
- Ollama, serving as the manager for LLM, operates as a server process within the operating system, such as through
systemd
on Linux. - VectorStore, exemplified by Qdrant in this context and overseen by LangChain, runs on Docker with a dedicated volume for persistent data storage.
package langchain { component llm component vectorstore } package operating-system { component docker component ollama database storage } vectorstore -- docker docker - storage llm -- ollama