DiffResearch is an open-source, easy-to-run framework for building autonomous deep research systems. It works seamlessly with both open-source (via vLLM/llama.cpp) and proprietary LLM providers. DiffResearch is built without heavy abstractions like LangChain or LangGraph.
The framework is designed to automate the process of web searching, information synthesis, and report generation, minimizing the "hallucination" risk by grounding responses in real-time data.
The framework provides two distinct operational modes:
- Lite Mode: Optimized for speed. It generates a concise, accurate report on a given topic in one pass.
- Full Mode: Designed for complex queries. It iteratively decomposes the main question into sub-tasks, researches them individually, and uses a "Judge" agent to ensure the final report is comprehensive.
Tip
Check the examples/ directory in this repository to see sample reports generated by both modes.
This project uses uv for lightning-fast Python package management.
-
Clone repository
git clone https://github.com/alanrbtx/DiffResearch cd DiffResearch -
Install uv:
Follow the official uv installation guide.
-
Create venv:
uv venv
-
Install Dependencies:
uv pip install -r requirements.txt
-
Configure LLM Backend
export API_KEY="your_api_key"
export BASE_URL="http://your-provider-url/v1"
export MODEL_NAME="your-model-name"uv run run_lite_deep_research.py --prompt "What is GRPO?"Available Flags:
--relevance: Adds an agent to filter search results for high accuracy.
--squeeze: Optimizes context usage by summarizing individual pages before final synthesis.
uv run run_full_deep_research.py --prompt "What is GRPO and how can I apply it to robotics?"Due to DuckDuckGo's strict rate limits, frequent automated queries are often restricted
Licensed under the Apache License, Version 2.0.
