Spaces:
Sleeping
Sleeping
| title: Report Writer Agent | |
| emoji: π | |
| colorFrom: indigo | |
| colorTo: green | |
| sdk: gradio | |
| sdk_version: 5.28.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: Report Writing Agent by Nader Afshar | |
| # Research-Driven Report Writing Agent | |
| # π Research Agent | |
| The **Research Agent** is an autonomous, multi-step research system built using [LangGraph](https://github.com/langchain-ai/langgraph), [Cohere](https://cohere.com), and [Tavily](https://www.tavily.com/). It mimics the behavior of a human research assistant β planning, researching, drafting, critiquing, and revising β to produce high-quality **research reports** on any topic the user provides. | |
| --- | |
| ## π§ What Sets It Apart? | |
| Unlike typical AI content generators, this agent performs **real-time research** to ensure that reports are grounded in current, verifiable information. | |
| ### β¨ Highlights: | |
| - Uses **Cohereβs `command-a-03-2025` LLM** for language generation, outlining, and critique. | |
| - Uses **Tavily** to perform real-time, internet-based research (not just LLM memory). | |
| - Produces **structured, refined research reports**, not informal essays or chatbot replies. | |
| - Streams its **research and reasoning process** live so users can follow along. | |
| --- | |
| ## π§© How It Works | |
| 1. **User provides a topic or research question** through the UI. | |
| 2. The agent: | |
| - **Plans** the structure of the research. | |
| - **Conducts multiple web searches** via Tavily. | |
| - **Drafts a full report** using retrieved content and context. | |
| - **Critiques** and **revises** the report internally. | |
| 3. The output includes: | |
| - A live, streaming **log of the research process**. | |
| - A clean, **final research report** as a separate result. | |
| --- | |
| ## β³ Why It Takes Time | |
| The Research Agent behaves more like a human researcher than a chatbot: | |
| - It may take **~30 seconds before the first visible output**, while: | |
| - Querying the web. | |
| - Organizing thoughts. | |
| - Planning the structure. | |
| - It takes **1β2 minutes or more** to complete a full research and writing cycle with critique + revision. | |
| π§ **This is intentional**: speed is traded for depth, accuracy, and reasoning. | |
| --- | |
| ## π₯ Interface | |
| Built with **Gradio**, the app includes: | |
| - A **textbox** for entering a topic or question. | |
| - A **streaming log** of research, planning, and revision steps. | |
| - A **final output panel** for the completed research report. | |
| --- | |
| ## π οΈ Technologies Used | |
| | Component | Purpose | | |
| |----------------|------------------------------------------| | |
| | LangGraph | Agent state machine + step logic | | |
| | Cohere LLM | `command-a-03-2025` model for text tasks | | |
| | Tavily Search | Real-time research via web search | | |
| | LangChain Core | Messaging and prompt orchestration | | |
| | Gradio | Interactive web interface | | |
| --- | |
| ## π Getting Started | |
| 1. Install dependencies: | |
| ```bash | |
| pip install -r requirements.txt | |