diff --git a/solutions/69b19fbf67bbf488a1177d94_Human-in-the-loop__interrupt___resume_/README.md b/solutions/69b19fbf67bbf488a1177d94_Human-in-the-loop__interrupt___resume_/README.md new file mode 100644 index 0000000..9eb5719 --- /dev/null +++ b/solutions/69b19fbf67bbf488a1177d94_Human-in-the-loop__interrupt___resume_/README.md @@ -0,0 +1,103 @@ +# Human‑in‑the‑Loop (HITL) with LangGraph + +This repository contains a minimal example of how to implement a **Human‑in‑the‑Loop** interruption in a LangGraph workflow. +The graph consists of a single node that triggers an interrupt, presents a question to the user via a console menu (`questionary`), receives the answer, and then resumes execution. + +--- + +## 📦 Project Overview + +- **Purpose**: Demonstrate how to pause a LangGraph flow for human input and resume it afterward. +- **Key Components**: + - `main.py`: The only script – builds the graph, defines the interrupt handler, and runs the workflow. + - Uses **LangGraph** for state management and interruption handling. + - Uses **questionary** to display a CLI menu and capture user responses. + +--- + +## ⚙️ Prerequisites + +| Dependency | Minimum Version | +|------------|-----------------| +| Python | 3.10+ | +| LangGraph | Latest (pip install `langgraph`) | +| questionary| Latest (pip install `questionary`) | + +> **Note**: No external services (Ollama, Qdrant, etc.) are required for this demo. + +--- + +## 📥 Installation + +```bash +# Clone the repository +git clone https://github.com/your-username/hitl-langgraph.git +cd hitl-langgraph + +# Create a virtual environment (optional but recommended) +python -m venv .venv +source .venv/bin/activate # On Windows: .\.venv\Scripts\activate + +# Install dependencies +pip install -r requirements.txt +``` + +`requirements.txt` contains: + +```text +langgraph>=0.1.0 +questionary>=2.0.0 +``` + +--- + +## 🚀 Running the Example + +The project has a single executable file: `main.py`. + +```bash +python main.py +``` + +### What Happens? + +1. The graph starts and immediately triggers an interrupt. +2. A console menu appears: + + ``` + ❓ What is your favorite programming language? + 1) Python + 2) JavaScript + 3) Rust + 4) Go + ``` + +3. After you select an option, the workflow resumes and prints a confirmation message. + +--- + +## 📄 Example Output + +```text +$ python main.py +❓ What is your favorite programming language? +1) Python +2) JavaScript +3) Rust +4) Go +> 1 + +You selected: Python +Workflow finished. +``` + +Feel free to modify the question or options in `main.py` to suit your own use case. + +--- + +## 📚 Further Reading + +- [LangGraph Documentation](https://langgraph.org/docs/) +- [questionary Docs](https://github.com/tmbo/questionary) + +Happy hacking! \ No newline at end of file