enterprise-deep-research
enterprise-deep-research copied to clipboard
Salesforce Enterprise Deep Research
We present Enterprise Deep Research (EDR), a multi-agent system that integrate:
- Master Planning Agent for adaptive query decomposition.
- Four specialized search agents (General, Academic, GitHub, LinkedIn).
- Extensible MCP-based tool ecosystem supporting NL2SQL, file analysis, and enterprise workflows.
- Visualization Agent for data-driven insights.
- Reflection mechanism that detects knowledge gaps and updates research direction with optional human-in-the-loop steering guidance.
- Real-time steering commands for continuous research refinement.
[!Note] These components enable automated report generation, real-time streaming, and seamless enterprise deployment, as validated on internal datasets.

π₯ Demo
We present a video demo of using EDR in web application for enterprise deep data analysis.
EDR: Web Application
https://github.com/user-attachments/assets/b40b6131-3b7c-4e5f-8de3-91a4047ade58
[!Note] Multi-provider LLM support β’ Slack agent β’ Real-time streaming β’ Document analysis β’ Citation management β’ Parallel processing β’ Specialized benchmarking β’ Human-in-the-loop steering
π Quick Start
Requirements: Python 3.11+ β’ Node.js 20.9.0+
Installation & Setup
# Clone and setup
git clone https://github.com/SalesforceAIResearch/enterprise-deep-research.git
cd enterprise-deep-research
# Python environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Configure environment
cp .env.sample .env
# Edit .env with your API keys
# Frontend setup
cd ai-research-assistant && npm install && npm run build && cd ..
Environment Configuration
Required Variables:
TAVILY_API_KEY- Tavily search API key- One LLM provider key:
OPENAI_API_KEY- OpenAI API keyANTHROPIC_API_KEY- Anthropic API keyGROQ_API_KEY- Groq API keyGOOGLE_CLOUD_PROJECT- Google Cloud project IDSAMBNOVA_API_KEY- SambaNova API key
Optional Settings:
LLM_PROVIDER- Default provider (default:openai)LLM_MODEL- Model name (provider-specific defaults)MAX_WEB_RESEARCH_LOOPS- Max iterations (default:10)
Supported Models
| Provider | Default Model | Available Models |
|---|---|---|
| OpenAI | o4-mini |
o4-mini, o4-mini-high, o3-mini, o3-mini-reasoning, gpt-4o |
| Anthropic | claude-sonnet-4 |
claude-sonnet-4, claude-sonnet-4-thinking, claude-3-7-sonnet, claude-3-7-sonnet-thinking |
gemini-2.5-pro |
gemini-2.5-pro, gemini-1.5-pro-latest, gemini-1.5-flash-latest |
|
| Groq | deepseek-r1-distill-llama-70b |
deepseek-r1-distill-llama-70b, llama-3.3-70b-versatile, llama3-70b-8192 |
| SambaNova | DeepSeek-V3-0324 |
DeepSeek-V3-0324 |
Running the Application
Full Stack (Recommended) - Single Command:
python -m uvicorn app:app --host 0.0.0.0 --port 8000
The application will serve both the backend API and pre-built frontend at http://localhost:8000
Backend API Documentation: http://localhost:8000/docs
π» Usage
Command Line
python benchmarks/run_research.py "Your research question" \
--provider openai --model o3-mini --max-loops 3
Web Interface
Navigate to http://localhost:8000 for interactive research with real-time progress tracking.
π Benchmarking & Development
Supported Benchmarks

- DeepResearchBench: Comprehensive research evaluation
- ResearchQA: Question-answering with citation verification
- DeepConsult: Consulting-style analysis tasks
EDR-200 Dataset
The EDR-200 dataset contains 201 complete agentic research trajectories generated by Enterprise Deep Researchβ99 queries from DeepResearch Bench and 102 queries from DeepConsult. Unlike prior benchmarks that only capture final outputs, these trajectories expose the full reasoning process across search, reflection, and synthesis steps, enabling fine-grained analysis of agentic planning and decision-making dynamics.
Running Benchmarks
Refer to our detailed benchmarking guide.
Development Setup
# Testing
python -m pytest tests/
python test_agents.py
# Code quality
black src/ services/ benchmarks/
mypy src/ services/
flake8 src/ services/ benchmarks/
# Development server
python -m uvicorn app:app --reload --host 0.0.0.0 --port 8000
cd ai-research-assistant && npm run dev
π Project Structure
enterprise-deep-research/
βββ ai-research-assistant/ # React frontend
βββ benchmarks/ # Evaluation framework
βββ src/ # Core research engine
β βββ agent_architecture.py # Multi-agent orchestration
β βββ graph.py # LangGraph workflow definitions
β βββ state.py # Research state management
β βββ simple_steering.py # Steering & task management
β βββ steering_integration.py # Steering integration layer
β βββ prompts.py # Agent prompts & templates
β βββ configuration.py # Agent configuration
β βββ utils.py # Utility functions
β βββ visualization_agent.py # Visualization generation
β βββ tools/ # Research tools & MCP integration
βββ services/ # Backend services (research, analysis, parsing)
βββ routers/ # FastAPI endpoints
βββ models/ # Data schemas
βββ app.py # Main FastAPI application
βββ llm_clients.py # LLM provider clients
βββ session_store.py # Session management
βββ requirements.txt # Python dependencies
Star History
π License & Citation
Licensed under Apache 2.0.
@article{prabhakar2025enterprisedeepresearch,
title={Enterprise Deep Research: Steerable Multi-Agent Deep Research for Enterprise Analytics},
author={Prabhakar, Akshara and Ram, Roshan and Chen, Zixiang and Savarese, Silvio and Wang, Frank and Xiong, Caiming and Wang, Huan and Yao, Weiran},
journal={arXiv preprint arXiv:2510.17797},
year={2025}
}
Acknowledgments: Built on LangGraph, Tavily, React, Tailwind CSS, and FastAPI.