LangGraph Course Repo — Build LLM Agents Hands-On

Learn LangGraph by building Agentic RAG, ReAct and reflection agents, one commit per lesson.

Stars
★ 727
Last updated
2mo ago
License
Apache-2.0

At a glance

How it runs
CLI
Works with
Portable with changesOpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
PythonPoetryOpenAI API keyTavily API key (optional)LangSmith API key (optional)Shell / CLINetwork accessLocal filesystem
Typical use
Developers learning LangGraph who want to check out project/agentic-rag and cherry-pick commits to see how a RAG graph is assembled step by step.
Not a fit if
  • Developers unwilling to configure API keys, Poetry and multiple branches
  • Teams that want a ready-made production agent instead of learning step by step

What does this agent do, and when should you use it?

This repository is the hands-on companion to the Udemy course "LangGraph – Develop LLM-Powered AI Agents". Work is organized as project branches: project/agentic-rag (a RAG pipeline with document grading, web search and adaptive routing), project/ReAct-agent (a reason-and-act loop built in LangGraph), project/reflection and project/reflection-agent (agents that critique and revise their own output), and project/reflexion-agent (an agent that learns from previous runs). Inside each branch, individual commits map one-to-one to lessons, so you can watch a graph grow with git log --oneline. The runnable entry point is main.py, dependencies are managed with Poetry, and configuration lives in a .env file with OPENAI_API_KEY plus optional TAVILY_API_KEY and LANGCHAIN_API_KEY/LANGCHAIN_TRACING_V2. It is teaching material rather than a packaged product: there is no hosted service or deployment manifest, and behaviour depends on the model keys and local setup you provide.

The repo contains several LangGraph sample projects, each driven by main.py, checked out by branch. The Agentic RAG branch walks the full chain in commits: project setup, folder scaffolding, an ingestion pipeline that loads and embeds data, a Graph State that carries memory between nodes, a Retrieve Node that fetches context, a Grade Docs Node that filters for structured relevance, a Web Search Node that calls the Tavily API, and a Generation Node that handles prompting and LLM calls. The graph is then wired with fan-in, fan-out and conditional edges, extended with Self-RAG so the LLM critiques itself, and finished with an Adaptive Router that selects tools dynamically. The ReAct branch implements the classic reasoning-plus-acting loop; the reflection and reflection-agent branches let an agent critique and revise its own output; the reflexion-agent branch feeds lessons from previous runs back into later decisions. Every path reaches external model and search services through keys in .env, with optional LangSmith tracing.

  1. Developers learning LangGraph who want to check out project/agentic-rag and cherry-pick commits to see how a RAG graph is assembled step by step.
  2. Engineers who need to demo a self-correcting retrieval QA flow and want to reuse the Grade Docs Node and Self-RAG ideas in a prototype.
  3. Students or researchers comparing ReAct against reflection/reflexion loops, who can run main.py on each branch and diff the behaviour.
  4. Teams already on the LangChain stack that want a reference for wiring the Tavily web-search tool into multi-step question answering.
  5. Instructors preparing a lesson plan who can map each video to a commit listed in the repository's lesson table.
  6. Developers who want to observe graph execution locally by enabling LANGCHAIN_TRACING_V2 with LANGCHAIN_API_KEY.

How do you install or deploy this agent?

The repo expects a Python environment with Poetry. Per the README's Quick Start (note the README spells the repo name langgaph-course; use the real clone URL):

# 1. Clone & enter
$ git clone https://github.com/emarco177/langgaph-course.git
$ cd langgaph-course

# 2. Choose a project branch
$ git checkout project/agentic-rag  # for example

# 3. Install deps (Poetry)
$ poetry install

# 4. Run
$ poetry run python main.py

Then create a .env file in the repository root:

OPENAI_API_KEY=...
TAVILY_API_KEY=...          # optional – for web-search lessons
LANGCHAIN_API_KEY=...       # optional – for LangSmith tracing
LANGCHAIN_TRACING_V2=true   # optional
PYTHONPATH=$(pwd)

How do you use this agent?

Once installed, switch to the branch for the project you want and run the entry script:

$ git checkout project/ReAct-agent
$ poetry run python main.py

Use project/agentic-rag for the full RAG pipeline, project/ReAct-agent for the reasoning-and-acting loop, project/reflection and project/reflection-agent for self-critique and revision, and project/reflexion-agent for learning from past runs. To follow the course lesson by lesson, inspect and rewind the history:

$ git log --oneline
$ git checkout <hash>

The web-search lessons additionally require TAVILY_API_KEY; LangSmith tracing requires LANGCHAIN_API_KEY and LANGCHAIN_TRACING_V2=true.

What are this agent's strengths and limitations?

Pros
  • Branch-as-project and commit-as-lesson structure lets each Agentic RAG, ReAct and reflection flow be checked out and replayed independently.
  • The Agentic RAG branch covers a complete node chain: ingestion, retrieval, document grading, web search, generation, self-correction and adaptive routing.
  • Separate reflection and reflexion branches make it easy to contrast in-place revision with learning from previous runs.
  • Poetry manages dependencies and the .env example documents optional Tavily and LangSmith settings, so the environment story is explicit.
Limitations
  • Running anything requires an OpenAI API key, i.e. paid model calls; no local-model alternative is documented.
  • The README repeatedly misspells the repo as langgaph-course (clone command and branch links), so copying the commands verbatim fails.
  • You must create .env and set PYTHONPATH yourself, with install steps split between Quick Start and the config snippet.
  • There are no versioned releases, Docker or hosted deployment instructions, so production hardening is left to the reader.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
LangGraph Course Repo — Build LLM Agents Hands-On This agent 33 · Major gaps CLIFree + model costs ★ 727 2mo ago — OpenAI API
Dive into LangGraph 69 · Some gaps Library / SDKFree + model costs ★ 455 18d ago Jupyter Notebook Claude Code
Email Agents From Scratch 49 · Major gaps Library / SDKFree + model costs ★ 2.3k 1mo ago Jupyter Notebook OpenAI API
LangChain 41 · Major gaps Library / SDKFree + model costs ★ 147k today Python OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
33/ 100 5-point scale 1.7 / 5
Trust 7/29
Reliability 3/14
Adaptability 8/18
Convention 8/18
Effectiveness 4/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence is limited to README and LICENSE; no source code, dependency manifest, or permission declarations. least_privilege scores 1 only because README marks TAVILY/LANGCHAIN keys as optional, hinting at minimal credential use; user_confirmation has no evidence at all, 0; data_flow_transparency mentions OpenAI/Tavily/LangSmith calls but not data flow or retention, 1; sensitive_data_handling only advises storing keys in .env, with no redaction or logging policy, 1; dependency_security cannot be assessed without pyproject/lock files, 0; external_effects include external API calls and web search with no side-effect disclosure or sandbox, 1; rollback has no recovery mechanism described, 0; source_attribution credits LangChain/LangGraph docs and tutorials, 2.

Reliability3 / 14 · 1.1/5

self_consistency is weakened by an internal inconsistency: the repo name is misspelled langgaph-course (missing r) in the body and in branch links, conflicting with the langgraph-course title, 1; dependency_availability offers only poetry install with no version constraints or lock file, 1; failure_messages has no error handling or failure messaging described, 0.

Adaptability8 / 18 · 2.2/5

audience_and_scenarios is clear (Udemy students and AI engineers; Agentic RAG, ReAct, Reflection), 2; capability_boundaries lists what it does but not what it does not do or where it applies, 1; trigger_precision has no trigger conditions or invocation contract, 1; environment_fit gives only Python+Poetry and .env variables, with no Python version, platform, or resource requirements, 1.

Convention8 / 18 · 2.2/5

information_architecture is clear with a repo map, branch table, and lesson-by-lesson commit table, 2; install_notes provide clone/checkout/poetry install/run plus a .env example, 2; naming_stability is undermined by the langgaph vs langgraph spelling inconsistency, 1; examples_and_faq has branch examples but no FAQ, 1; known_limitations is entirely absent, 0; license is the full Apache-2.0 text, 3; versioning_changelog uses only a commit list as a change record, with no version numbers or CHANGELOG, 1; maintenance_responsibility points only to Discord/Issues and the publisher is unverified, leaving ownership unclear, 1.

Effectiveness4 / 13 · 1.5/5

output_usability cannot be confirmed without source or run artifacts, so it scores 1 on the course description alone; marginal_value is real as course companion material but limited relative to LangGraph's official tutorials, 1; cost_benefit requires paid OpenAI/Tavily/LangSmith keys with no cost/benefit discussion, 1.

Verifiability3 / 8 · 1.9/5

claim_traceability: claims such as 'production-grade', 'bestseller', '4.7/5', and '13K+ students' have no in-repo support, 1; cross_source_corroboration is limited to README and LICENSE with no independent corroboration, 1; fact_inference_separation does not distinguish factual statements from marketing copy, 1.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • The repo name is misspelled as langgaph-course in the README body and branch links, conflicting with the langgraph-course title and risking clone/reference errors.
  • No dependency manifest or lock file is present, so dependency security and version reproducibility cannot be assessed.
  • Marketing claims in the README (rating, student count, 'production-grade') have no in-repo support and should not be treated as reliability evidence.
  • Publisher identity is unverified, leaving maintenance responsibility and update paths unclear.
  • Running requires OpenAI/Tavily/LangSmith keys, implying external API calls and cost, with no disclosure of data flow, retention, or side-effect controls.
Evidence confidence: Low Reviewed Sep 29, 2026 Reviewed revision 03f7369e1638
Review evidence README.mdLICENSE
See the full review method →

FAQ

Does using this repository cost money?
The code is free, but you supply OPENAI_API_KEY and pay per model call. TAVILY_API_KEY and LANGCHAIN_API_KEY are optional and used for web search and LangSmith tracing respectively.
Which branch should I start with?
The README quickstart uses project/agentic-rag as its example. For the smallest conceptual step, start with project/reflection, then move through ReAct, reflection-agent, reflexion-agent and finally agentic-rag.
The clone URL looks wrong — what should I use?
The README writes langgaph-course, but the repository is langgraph-course. Clone https://github.com/emarco177/langgraph-course.git and adjust the cd target accordingly.
Can I run it without web search?
Yes. Only the lessons involving the Web Search Node need TAVILY_API_KEY; the rest run with just OPENAI_API_KEY configured. Network access to the model endpoint is still required.
Is this ready for production deployment?
It is course companion material organized by branches and commits, with no releases, containers or deployment orchestration. Treat it as a reference to adapt, not a deployable service.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents