An educational lab of AI agent architectures An educational lab demonstrating various AI agent architectures built on LangChain and a local Ollama server has been released. The project includes multiple runnable CLI variants for studying chat with memory, tool calling, RAG, hybrid, and agentic RAG patterns, each configurable via environment variables. An educational lab of AI agent architectures, built on LangChain and a local Ollama server. Each variant is a separate, runnable CLI so you can study one mechanism at a time and watch it work through the logs. - Model generation : gemma4:e4b - Model embeddings : mxbai-embed-large:latest - Host: http://10.100.102.10:11434 configurable - Chat provider: local Ollama by default, or OpenRouter with LLM PROVIDER=openrouter | Category | Variant | Command | |---|---|---| | Chat + memory | full buffer | chat-buffer | | Chat + memory | summary buffer | chat-summary | | Tool calling | ReAct text protocol | tools-react | | Tool calling | native bind tools | tools-native | | RAG only | pure numpy cosine | rag-numpy | | RAG only | Chroma vector DB | rag-chroma | | RAG only | LlamaIndex in-memory | rag-llamaindex | | RAG only | LlamaIndex + Chroma store | rag-llamaindex-chroma | | RAG only | Haystack | rag-haystack | | RAG only | hybrid BM25+dense + cross-encoder rerank | rag-rerank | | Hybrid chat + RAG | semantic router | hybrid-semantic | | Hybrid chat + RAG | LLM classifier router | hybrid-llm | | Hybrid chat + RAG | adaptive RAG LangGraph | hybrid-adaptive | | Hybrid chat + RAG | corrective RAG multi-grader + rewrite | hybrid-adaptive-plus | | Agentic RAG | tool-calling + retrieval-as-a-tool | agentic-rag | The chat commands accept --persist to save memory to SQLite across runs. Install dependencies into a virtual environment: uv sync Configure the connection copy and edit if your host differs : copy .env.example .env To use OpenRouter for chat generation, set LLM PROVIDER=openrouter , OPENROUTER API KEY , and OPENROUTER MODEL in .env . Embeddings still use Ollama via EMBED MODEL , so RAG commands still need the local embedding model. Every agent is its own console script. Run any of them with uv run