Two pieces of deep research agent developed [independent pieces for easy POC]
- Scoping Phase → Understands user intent and generates a research brief
- Researching Phase → Gathers, filters, and synthesizes information and generates consolidated summary for the reearch brief
Designed for high-quality, citation-backed insights while optimizing for token efficiency and source reliability.
- Clarifies user intent (if needed)
- Generates a structured research brief
- Ensures alignment before deep research begins
- Executes iterative search + reasoning loop
- Filters low-quality sources
- Produces:
- ✅ Consolidated summary
- ✅ Report-style findings with citations
| Component | Tool / Model | Purpose |
|---|---|---|
| 🌐 Web Search | Tavily | Retrieve search results |
| 🧠 Reasoning | llama-3.3-70b-versatile | Generate research brief |
| ✂️ Summarization | llama-3.1-8b-instant | Chunking + summarization |
| 🎯 Orchestration | openai/gpt-oss-120b | Agent control & decision making |
- Skips sources without
raw_content - Avoids low-signal aggregator/listing pages
- Focuses on insightful, content-rich sources
- Chunk-based summarization
- Avoids full-page ingestion by smart chunk selection strategy
- Introduces 15-second delay between searches
- Prevents token-per-minute overflow issues
Create a separate environment and install dependencies:
python -m venv langchain_env
source langchain_env/bin/activate # Mac/Linux
langchain_env\Scripts\activate # Windows
pip install -r requirements.txtCreate a .env file in the project root:
GROQ_API_KEY=your_key
TAVILY_API_KEY=your_key
LANGSMITH_TRACING=True
LANGSMITH_API_KEY=your_key
LANGSMITH_PROJECT=deep_research_agentRun these commands after activating the environment:
pip install ipykernel
python -m ipykernel install --user --name=langchain_env --display-name "Python (langchain_env)"Then select Python (langchain_env) as the kernel inside Jupyter Notebook.
- Ensure
langgraph.jsonis present in the project - Start local deployment:
langgraph dev