arihant18/multi-source-multi-agent-finance-assistant
2
Multi-Source Multi-Agent Finance Assistant
A powerful finance assistant that leverages multiple AI agents to provide comprehensive financial information and insights from various sources.
๐๏ธ Architecture
The system is built using a multi-agent architecture with the following components:
Core Components
- Orchestrator
- Manages communication between different agents
- Handles request routing and response aggregation
- Built with FastAPI for high-performance API endpoints
- Agents
- Voice Agent: Handles speech-to-text and text-to-speech conversions
- API Agent: Interfaces with financial APIs (e.g., yfinance)
- Retriever Agent: Manages document retrieval and processing
- Scraping Agent: Extracts financial information from web sources
- Data Ingestion
- Handles data collection and preprocessing
- Supports multiple data sources and formats
- Streamlit Frontend
- User-friendly web interface
- Real-time interaction with the multi-agent system
- Voice input/output capabilities
๐ ๏ธ Setup & Deployment
Prerequisites
- Python 3.12+
- Docker (for containerized deployment)
- Google Cloud API credentials (for Gemini AI)
Local Development Setup
- Clone the repository:
git clone https://github.com/yourusername/multi-source-multi-agent-finance-assistant.git
cd multi-source-multi-agent-finance-assistant- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env with your API keys and configuration- Run the application:
# Start the orchestrator
uvicorn orchestrator.main:app --host 0.0.0.0 --port 8000
# In a separate terminal, start the Streamlit app
streamlit run streamlit_app/app.pyDocker Deployment
- Build the Docker image:
docker build -t finance-assistant .- Run the container:
docker run -p 8000:8000 -p 8501:8501 finance-assistant๐ Framework & Toolkit Comparison
๐ Key Features
- Multi-source financial data aggregation
- Voice-based interaction
- Real-time market data processing
- Document analysis and summarization
- Interactive financial visualizations
- Cross-platform compatibility
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
