--- 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