34 lines
1002 B
Markdown
34 lines
1002 B
Markdown
# Research Brief Generator
|
||
|
||
This project implements a **LangGraph** based agent that, given a research topic, produces a short research brief. The workflow is:
|
||
|
||
1. **Outline** – The LLM generates a 4–5 point outline.
|
||
2. **Research** – For each outline point a single Tavily web search is performed and a concise note is produced.
|
||
3. **Synthesize** – All notes are combined into a ½–1 page brief.
|
||
|
||
The agent uses:
|
||
- **OpenAI** (ChatOpenAI) for LLM calls.
|
||
- **TavilySearch** for real‑time web queries.
|
||
- **LangGraph** for stateful flow control.
|
||
|
||
## Prerequisites
|
||
|
||
- Python 3.10+
|
||
- An OpenAI API key (set `OPENAI_API_KEY`).
|
||
- A Tavily API key (set `TAVILY_API_KEY`).
|
||
|
||
Both keys can be stored in a `.env` file in the project root.
|
||
|
||
## Installation
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Usage
|
||
|
||
```bash
|
||
python -m src.cli "Explain to a student the difference between tool and resource in MCP."
|
||
```
|
||
|
||
The script will print the outline, each research step with notes, and the final brief. |