Files
ekzamen-samokorrektiruyusch…/README.md
T

65 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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