feat: solution for 'Повторный экзамен: Граф с рефлексией и доработкой'

This commit is contained in:
2026-06-30 00:30:10 +03:00
commit 976ed2b0b9
6 changed files with 240 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
# LangGraph Reflection Demo
This project demonstrates a simple LangGraph agent that:
1. Generates a short answer (510 sentences) to a usersupplied question.
2. Critiques the answer for completeness, concreteness, and fluff.
3. If the critique indicates `needs_revision`, rewrites the answer up to a maximum number of rounds.
## Features
- **Separate nodes** for drafting, reflecting, and rewriting.
- **LLMbased critic** that returns a verdict (`ok` or `needs_revision`) and 23 critique points.
- **Controlled loop**: rewrites only if the verdict is `needs_revision` and the round count is below `max_rounds`.
- **CLI interface**: pass a question via `-q` or input interactively.
- **Configurable maximum rounds** via `-m` (default 2).
## Requirements
- Python 3.10+
- `langgraph`
- `langchain-openai`
Install dependencies:
```bash
pip install -r requirements.txt
```
## Usage
1. **Set your OpenAI API key**:
```bash
export OPENAI_API_KEY="your_api_key_here"
```
2. **Run the demo**:
```bash
python src/main.py -q "Explain the difference between a tool and a resource in MCP."
```
Or simply:
```bash
python src/main.py
```
and enter the question when prompted.
The script will output the final answer, the number of rounds performed, the verdict, and the critique points.
## Project Structure
```
src/
├── main.py # CLI entry point
├── graph.py # LangGraph definition
└── nodes.py # Node implementations
requirements.txt
README.md
```
## License
MIT License