An intelligent multi-agent system that researches companies using 5 specialized AI agents working in parallel. Built with LangGraph and Google Gemini, it generates comprehensive research reports with visualizations and interactive UI.
- 5 Specialized AI Agents - Profile, Leadership, Financial, Market, and Signals agents working in parallel
- Interactive Web UI - Streamlit-based interface with real-time agent monitoring
- Comprehensive Reports - HTML reports with charts, tables, and visualizations
- Multiple Report Types - Executive summary, detailed analysis, or investor reports
- High Confidence - Average 85%+ confidence scores with source tracking
- Flexible Architecture - Run all agents or select specific ones based on your needs
The system uses 5 specialized AI agents that work in parallel:
- π’ Profile Agent - Business model, products, revenue streams
- π₯ Leadership Agent - Founders, executives, management team
- π° Financial Agent - Revenue, profitability, funding, financial ratios
- π Market Agent - Market size, competitors, SWOT analysis
- π¨ Signals Agent - News, sentiment, risks, hiring trends
START β [5 Agents in Parallel] β Aggregate β Synthesize β Generate Report
Benefits:
- β‘ 2.5x faster than sequential execution
- π― 85%+ average confidence scores
- π 45+ sources per company
- π Comprehensive reports with visualizations
- Python 3.9 or higher
- Google Gemini API key
- Tavily API key (for web search)
git clone https://github.com/yourusername/company-researcher.git
cd company-researcherWindows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python -m venv venv
source venv/bin/activatepip install -r requirements.txtOr install as a package:
pip install -e .- Copy the example environment file:
copy .env.example .env # Windows
cp .env.example .env # macOS/Linux- Edit
.envand add your API keys:
# Required
GOOGLE_API_KEY=your_google_api_key_here
TAVILY_API_KEY=your_tavily_api_key_here
# Optional (for enhanced data)
ALPHA_VANTAGE_API_KEY=your_key_here
FMP_API_KEY=your_key_here
NEWS_API_KEY=your_key_hereGet API Keys:
- Google Gemini: https://ai.google.dev/
- Tavily: https://tavily.com/
- Alpha Vantage (optional): https://www.alphavantage.co/
- Financial Modeling Prep (optional): https://financialmodelingprep.com/
Launch the interactive Streamlit interface:
streamlit run ui.pyThen open your browser to http://localhost:8501
Features:
- Select which agents to run
- Choose report type (executive, detailed, investor)
- Real-time agent monitoring
- Interactive HTML reports with charts
- Export reports
Use the system programmatically:
import asyncio
from src.graph.multi_agent_graph import research_company
async def main():
# Research a company
result = await research_company("Tesla")
# Access results
print(result['final_report'])
print(f"Confidence: {result['report_metadata']['average_confidence']:.2%}")
print(f"Sources: {len(result['all_sources'])}")
asyncio.run(main())Run only specific agents:
from src.graph.selective_graph import research_selective
# Run only financial and market agents
result = await research_selective(
company="Apple",
selected_agents=["financial", "market"],
report_type="executive"
)Test individual agents:
python test_intelligent_graph.pyQuick test:
python test_intelligent_graph_quick.py- High-level overview
- Key metrics and insights
- 1-2 page format
- Perfect for quick briefings
- Comprehensive research
- All agent findings
- Charts and visualizations
- 5-10 page format
- Financial focus
- Market analysis
- Risk assessment
- Investment recommendations
company-researcher/
βββ src/
β βββ agent/ # LangGraph agent configuration
β βββ agents/ # Individual research agents
β β βββ intelligence/ # Intelligent routing
β β βββ research/ # Research agents
β βββ graph/ # Multi-agent orchestration
β βββ llm/ # LLM configuration
β βββ tools/ # Search and data tools
β β βββ analysis/ # Data analysis tools
β β βββ data/ # Financial data APIs
β β βββ search/ # Web search tools
β β βββ visualization/ # Charts and tables
β βββ ui/ # Streamlit web interface
β βββ voice/ # Voice interface (future)
βββ docs/ # Documentation
βββ eval/ # Evaluation scripts
βββ test_reports/ # Generated reports
βββ .env.example # Environment template
βββ requirements.txt # Python dependencies
βββ pyproject.toml # Package configuration
βββ ui.py # Main UI entry point
Edit src/graph/multi_agent_graph.py:
# More queries = more depth
max_queries=5,
# More results = more sources
max_results_per_query=3rate_limiter = InMemoryRateLimiter(
requests_per_second=0.15, # Adjust for your API limits
check_every_n_seconds=60,
max_bucket_size=10
)Edit src/llm/llm_config.py:
model = ChatGoogleGenerativeAI(
model="gemini-2.0-flash", # or "gemini-2.5-pro"
temperature=0.7
)- Setup Guide - Detailed installation instructions
- Quick Start - Get started quickly
- Architecture - System design and workflow
- Agents - Agent specifications and capabilities
- Tools - Available tools and integrations
- API Keys - API keys setup guide
Run the test suite:
# Test intelligent graph
python test_intelligent_graph.py
# Quick test
python test_intelligent_graph_quick.py
# Test report formatter
python test_report_formatter.py- Speed: 2.5x faster than sequential execution
- Confidence: 85%+ average across all agents
- Sources: 45+ unique sources per company
- Time: ~3-4 minutes per company (rate limited)
If you see 429 You exceeded your current quota:
- Wait 1 minute for rate limit to reset
- Reduce
requests_per_secondin configuration - Consider upgrading your API plan
Increase research depth:
- Increase
max_queries(more search queries) - Increase
max_results_per_query(more sources per query) - Add optional API keys for better data
Make sure all dependencies are installed:
pip install -r requirements.txtContributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
- Built with LangGraph
- Powered by Google Gemini
- Search by Tavily
For issues and questions:
- Open an issue on GitHub
- Check the documentation
- Review existing issues for solutions
Made with β€οΈ using LangGraph and Google Gemini