Skip to content

Commit 32b0d71

Browse files
authored
Revise README to reflect addition of CLI arguments
Updated README to show a table of the CLI arguments and give an example on how to use them
1 parent ad863be commit 32b0d71

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# GraphNews: A Multi-Agent Self-Correcting Editorial Team
22
![Python Version](https://img.shields.io/badge/python-3.11%2B-blue)
33
![LangGraph](https://img.shields.io/badge/Orchestration-LangGraph-orange)
4-
![LLM](https://img.shields.io/badge/LLM-DeepSeek--V3.2-green)
4+
![LLM](https://img.shields.io/badge/LLM-DeepSeek--V3-green)
55
![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)
66

77
**GraphNews** is a sophisticated multi-agent system built with **LangGraph** that automates the end-to-end process of news research, curation, and newsletter drafting. Unlike standard linear AI chains, this project utilizes a **Cyclic Graph** architecture to implement a "Self-Correction" loop, ensuring high-quality, factual output through autonomous peer review.
88

99
## Workflow Architecture
1010
The system treats the editorial process as a state machine. Data flows through specialized nodes, maintaining a shared state to ensure context is preserved across the entire lifecycle:
1111

12-
1. **RESEARCHER:** Scours the web using **Tavily** for the top 10 .
12+
1. **RESEARCHER:** Scours the web using **Tavily** for the top 10 news items for the specified topic.
1313
2. **CURATOR:** Filters research results to select the top 5 most relevant sources.
1414
3. **WRITER:** Generates a structured Markdown draft based on curated items.
1515
4. **CRITIC:** Evaluates the draft. If the score is **< 8/10**, the draft is sent back to the **WRITER** with specific feedback for revision.
@@ -62,15 +62,24 @@ TAVILY_API_KEY=your_key_here
6262

6363
### 3. Run the system
6464
```bash
65+
# Default run (yesterday's news)
6566
python main.py
67+
#Custom run with specific topic, destination and verbose logging
68+
python main.py --topic "Quantum Computing" --verbose --dest quantum_news.md
6669
```
70+
## CLI Usage
71+
| Argument | Short | Description | Default |
72+
| :--- | :--- | :--- | :--- |
73+
| `--topic` | | The subject of the newsletter | Yesterday's News |
74+
| `--dest` | `-d` | Path to save the output file | `newsletter.md` |
75+
| `--verbose` | | Enable real-time agent logging | `False` |
6776

6877
## Technical Challenges & Solutions
6978
- The "Hallucination" Brake: Implemented a max revision counter within the Critic node logic to prevent infinite loops and runaway API costs.
7079
- Deterministic State Control: Used LangGraph's TypedDict state to maintain a single source of truth, preventing context drift.
7180

7281
## Roadmap
73-
- Add CLI arguments to control news topic and source count.
82+
- Add argument to choose which LLM is used
7483
- Integrate LangSmith for full-trace agent debugging and cost monitoring.
7584
- Human-in-the-Loop: Add a LangGraph Checkpointer to pause for human approval before final output.
7685

0 commit comments

Comments
 (0)