34 lines
1013 B
Markdown
34 lines
1013 B
Markdown
# LangGraph Code Review Agent
|
||
|
||
This repository implements a LangGraph agent that performs a code review on a Python function. The graph consists of three nodes:
|
||
|
||
1. **draft_review** – generates an initial review.
|
||
2. **reflect** – a critic that scores the review on four criteria (PEP8, type hints, edge cases, naming) and decides whether a rewrite is required.
|
||
3. **rewrite** – rewrites the weakest part of the review.
|
||
|
||
The graph runs for a maximum of `max_rounds` (default 2). The demo can be executed with `python -m main`.
|
||
|
||
## Requirements
|
||
|
||
```text
|
||
langgraph>=0.2.0
|
||
langchain-openai>=0.2.0
|
||
python-dotenv>=1.0.0
|
||
```
|
||
|
||
## Usage
|
||
|
||
```bash
|
||
# Install dependencies
|
||
pip install -r requirements.txt
|
||
|
||
# Run the demo
|
||
python -m main
|
||
```
|
||
|
||
The demo uses a simple `sort_numbers` function. The output shows the final review, the scores for each criterion, the verdict, and the number of rounds performed.
|
||
|
||
## Environment Variables
|
||
|
||
The agent uses OpenAI. Set the `OPENAI_API_KEY` environment variable before running.
|