Complete step-by-step instructions for installing the Multi-Modal Academic Research System.
- System Requirements
- Prerequisites
- Installation Steps
- Verifying Installation
- Common Installation Issues
- Platform-Specific Notes
- Operating System: macOS, Linux, or Windows 10/11
- Python: Python 3.9 or higher (Python 3.11 recommended)
- RAM: 4GB minimum, 8GB recommended
- Disk Space: 5GB free space (for dependencies, models, and data)
- Internet: Stable internet connection for downloading dependencies and API access
- Python: Python 3.11.x
- RAM: 8GB or more (for processing large PDFs and running embedding models)
- Disk Space: 10GB+ for storing papers, videos, and processed data
- GPU: Optional, but helpful for faster embedding generation
Before installing the Multi-Modal Academic Research System, ensure you have:
-
Python 3.9+ installed on your system
python --version # Should show Python 3.9.x or higher -
pip package manager (comes with Python)
pip --version
-
Docker installed (for OpenSearch)
- Download from: https://www.docker.com/get-started
- Verify installation:
docker --version
-
Git (optional, for cloning the repository)
git --version
-
Google Gemini API Key (free tier available)
- Get your key at: https://makersuite.google.com/app/apikey
- No credit card required for the free tier
Option A: Using Git
git clone <repository-url>
cd multi-modal-academic-research-systemOption B: Download ZIP
- Download and extract the project ZIP file
- Navigate to the extracted directory
Creating a virtual environment isolates the project dependencies from your system Python.
macOS/Linux:
python -m venv venvWindows:
python -m venv venvmacOS/Linux:
source venv/bin/activateWindows Command Prompt:
venv\Scripts\activateWindows PowerShell:
venv\Scripts\Activate.ps1You should see (venv) prepended to your command prompt, indicating the virtual environment is active.
pip install --upgrade pipInstall all required packages from requirements.txt:
pip install -r requirements.txtThis will install approximately 30+ packages including:
- OpenSearch client
- LangChain and Google Gemini integration
- Gradio for the web UI
- PDF processing libraries
- YouTube and podcast collectors
- Sentence transformers for embeddings
- And many more...
Expected installation time: 5-10 minutes depending on your internet connection.
-
Copy the example environment file:
cp .env.example .env
-
Edit the
.envfile with your preferred text editor:# On macOS/Linux nano .env # Or use any text editor code .env # VS Code vim .env # Vim
-
Add your Gemini API key:
GEMINI_API_KEY=your_actual_api_key_here OPENSEARCH_HOST=localhost OPENSEARCH_PORT=9200
OpenSearch is required for indexing and searching academic content.
Using Docker (Recommended):
docker run -d \
--name opensearch-research \
-p 9200:9200 \
-p 9600:9600 \
-e "discovery.type=single-node" \
-e "OPENSEARCH_INITIAL_ADMIN_PASSWORD=MyStrongPassword@2024!" \
opensearchproject/opensearch:latestVerify OpenSearch is running:
curl -X GET https://localhost:9200 -ku admin:MyStrongPassword@2024!You should see JSON output with cluster information.
The application will create these automatically, but you can create them manually:
mkdir -p data/papers data/videos data/podcasts data/processed
mkdir -p logs configsOn first run, the sentence transformer model will be downloaded automatically (~90MB). To download it now:
python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')"python -c "import sys; print(f'Python {sys.version}')"python -c "import opensearchpy, langchain, gradio, google.generativeai; print('All core dependencies installed successfully')"python -c "from opensearchpy import OpenSearch; client = OpenSearch(hosts=[{'host': 'localhost', 'port': 9200}], http_auth=('admin', 'MyStrongPassword@2024!'), use_ssl=True, verify_certs=False); print(client.info())"python main.pyYou should see:
π Initializing Multi-Modal Research Assistant...
β
Connected to OpenSearch at localhost:9200
β
Research Assistant ready!
π Opening web interface...
Running on local URL: http://0.0.0.0:7860
Running on public URL: https://[random-id].gradio.live
Open the local URL in your browser. If you see the Research Assistant interface, installation is complete!
Problem: python --version shows Python 2.x or Python < 3.9
Solution:
- Try
python3 --versioninstead - Use
python3andpip3commands throughout installation - Install Python 3.11 from python.org
Problem: ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied
Solution:
- Ensure virtual environment is activated (you should see
(venv)) - If not in venv: Activate it again:
source venv/bin/activate - Never use
sudo pip install- this can break your system Python
Problem: Docker container fails or port 9200 is already in use
Solutions:
-
Check if OpenSearch is already running:
docker ps | grep opensearch -
Stop existing container:
docker stop opensearch-research docker rm opensearch-research
-
Check if port 9200 is in use:
# macOS/Linux lsof -i :9200 # Windows netstat -ano | findstr :9200
-
Use a different port if needed (update
.envfile):docker run -d -p 9201:9200 -e "discovery.type=single-node" opensearchproject/opensearch:latestThen set
OPENSEARCH_PORT=9201in.env
Problem: ModuleNotFoundError: No module named 'opensearchpy' (or other package)
Solutions:
-
Verify virtual environment is active:
which python # Should show path to venv/bin/python -
Reinstall requirements:
pip install -r requirements.txt
-
Install missing package individually:
pip install opensearch-py
Problem: β οΈ Please set GEMINI_API_KEY in your .env file
Solutions:
-
Verify
.envfile exists in project root:ls -la .env
-
Check the file content (key should not have quotes):
# Correct GEMINI_API_KEY=AIzaSyAbc123... # Incorrect GEMINI_API_KEY="AIzaSyAbc123..." # Remove quotes -
Ensure no trailing spaces or newlines
-
Restart the application after editing
.env
Problem: SSL: CERTIFICATE_VERIFY_FAILED errors
Solution: The application already disables SSL verification for local OpenSearch. If issues persist:
- Check firewall settings
- Verify OpenSearch container is running:
docker ps - Try accessing OpenSearch directly:
curl -k https://localhost:9200
Problem: System runs out of memory during PDF processing or embedding generation
Solutions:
- Close other applications
- Process fewer documents at once
- Restart the application
- Increase Docker memory limits if using Docker Desktop
Problem: First run takes very long downloading models
Solution:
- Be patient - the all-MiniLM-L6-v2 model is ~90MB
- Check internet connection
- Download manually using the command in Step 9
- The model is cached locally after first download
Problem: Gradio cannot start because port 7860 is occupied
Solution:
-
Find what's using the port:
# macOS/Linux lsof -i :7860 # Windows netstat -ano | findstr :7860
-
Kill the process or modify
main.pyto use a different port:app.launch( server_name="0.0.0.0", server_port=7861, # Changed port share=True )
- M1/M2 Macs: All dependencies are compatible with ARM architecture
- Rosetta: Not required; native ARM support available
- Permission Issues: You may need to allow terminal to access folders in System Preferences
-
Ubuntu/Debian: Install system dependencies:
sudo apt-get update sudo apt-get install python3-dev python3-pip python3-venv
-
Fedora/RHEL:
sudo dnf install python3-devel python3-pip
-
PowerShell Execution Policy: If activation fails:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
Long Path Support: Enable long paths in Windows (required for some packages):
- Run as Administrator:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
- Run as Administrator:
-
Visual C++ Redistributables: Some packages require Visual Studio build tools:
- Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/
After successful installation:
- Quick Start: Follow the Quick Start Guide to run your first query
- Configuration: Review the Configuration Guide for advanced settings
- Architecture: Learn about the system in the Technology Stack document
If you encounter issues not covered here:
- Check the logs in the
logs/directory - Review the Configuration Guide
- Consult the main CLAUDE.md file
- Check GitHub issues or create a new one
Installation complete! You're ready to start researching with your Multi-Modal Academic Research System.