A powerful Multi-Agent Research System built with Python, Streamlit, LangChain, and Google Gemini. The application uses multiple AI agents to perform research, gather information, analyze findings, and generate structured outputs.
- Multi-agent workflow for research and analysis
- Powered by Google Gemini models
- Interactive Streamlit web interface
- Modular architecture with separate agents and tools
- Environment variable-based configuration
- Easy local setup and deployment
Multi-agent-research-system/
│
├── app.py # Streamlit application entry point
├── agents.py # Agent definitions
├── pipeline.py # Agent workflow pipeline
├── tools.py # Custom tools and utilities
├── requirements.txt # Project dependencies
├── .env.example # Environment variables template
└── README.md
Before running the project, ensure you have:
- Python 3.10 or higher
- Git
- Google Gemini API Key
git clone <your-repository-url>
cd Multi-agent-research-systemWindows
python -m venv venv
venv\Scripts\activateLinux/macOS
python -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the root directory.
Example:
GEMINI_API_KEY=""
TAVILY_API_KEY=your_tavily_api_key_here
You can copy the template:
cp .env.example .envor on Windows:
copy .env.example .envStart the Streamlit application:
streamlit run app.pyAlternatively:
python -m streamlit run app.pyAfter starting, Streamlit will display a local URL similar to:
Local URL: http://localhost:8501
Open the URL in your browser.
This project is configured to use Google Gemini through LangChain.
Example configuration:
from langchain_google_genai import ChatGoogleGenerativeAI
llm = ChatGoogleGenerativeAI(
model="gemini-2.5-flash",
temperature=0
)You can also use:
model="gemini-2.5-pro"for more advanced reasoning capabilities.
ModuleNotFoundError: No module named 'streamlit'Solution:
pip install streamlitEnsure your .env file exists and contains all required API keys.
Update pip and reinstall dependencies:
python -m pip install --upgrade pip
pip install -r requirements.txt- Python
- Streamlit
- LangChain
- Google Gemini
- dotenv
Contributions, issues, and feature requests are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Open a pull request
This project is intended for educational and research purposes. Feel free to modify and extend it according to your needs.