Skip to main content
RepoRAGX requires Python 3.12 and several dependencies for RAG functionality, including LangChain, ChromaDB, and Sentence Transformers.

Python version requirement

RepoRAGX requires Python 3.12 specifically. Using other Python versions may cause compatibility issues with dependencies.
Verify your Python version:
python --version
# Should output: Python 3.12.x

Environment manager options

You can use either Conda (recommended) or Python’s built-in venv for environment management. Conda provides better dependency isolation and is the officially recommended approach.
1

Install Conda

If you don’t have Conda, install Miniconda or Anaconda
2

Create environment

Create a new Conda environment with Python 3.12:
conda create -p venv python==3.12
This creates a local venv/ directory in your project folder.
3

Activate environment

Activate the environment:
conda activate venv/
Your terminal prompt should change to show (venv) at the beginning.
Using -p venv creates the environment in your project directory, making it easy to manage project-specific dependencies.

Using venv (alternative)

If you prefer Python’s built-in virtual environment manager:
1

Ensure Python 3.12

Confirm you have Python 3.12 installed:
python3.12 --version
2

Create virtual environment

Create a new virtual environment:
python3.12 -m venv venv
3

Activate environment

Activate based on your operating system:Linux/macOS:
source venv/bin/activate
Windows (Command Prompt):
venv\Scripts\activate.bat
Windows (PowerShell):
venv\Scripts\Activate.ps1

Installing dependencies

After activating your environment, install all required packages:
pip install -r requirements.txt

Core dependencies

RepoRAGX uses the following major dependencies (from requirements.txt):
PackageVersionPurpose
langchain1.2.10Core RAG framework and orchestration
langchain-community0.4.1GitHub file loader and community integrations
langchain-core1.2.14LangChain core abstractions
langchain_groq1.1.2Groq LLM integration
sentence-transformers5.2.3Text embeddings using all-MiniLM-L6-v2
chromadb1.5.1Vector database for storing embeddings
python-dotenv1.2.1Environment variable management
The first run may take several minutes as Sentence Transformers downloads the all-MiniLM-L6-v2 model (~80MB).

Environment variables

RepoRAGX uses environment variables for configuration. The application automatically loads these from a .env file using python-dotenv (src/main.py:11).

Required variables

Create a .env file in the project root:
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
GROQ_API_KEY=your_groq_key
See the API keys page for details on obtaining these credentials.

Using .env.example

The repository includes a .env.example template:
cp .env.example .env
Then edit .env with your actual credentials.
Never commit your .env file to version control. Ensure .env is listed in .gitignore.

Vector store persistence

RepoRAGX stores vector embeddings in a persistent ChromaDB database to avoid re-indexing repositories on each run.

Storage location

Embeddings are stored in:
~/.RepoRAGX/vector_store/
The application creates this directory automatically (src/main.py:34-35):
persist_directory = Path.home()/".RepoRAGX"/"vector_store"
os.makedirs(persist_directory, exist_ok=True)

Collection naming

Each repository gets a unique collection name based on the repo identifier:
collection_name = repo.replace("/", "_")
# Example: "AnmolTutejaGitHub/RepoRAGX" → "AnmolTutejaGitHub_RepoRAGX"
To re-index a repository, delete its collection folder from ~/.RepoRAGX/vector_store/ and run the application again.

Verifying your setup

Test your environment configuration:
1

Activate environment

Ensure your virtual environment is activated
2

Run the application

python -m src.main
3

Check output

You should see the RepoRAGX ASCII banner and prompts for API keys:
/**
 *    __________                    __________    _____    ____________  ___
 *    \______   \ ____ ______   ____\______   \  /  _  \  /  _____/\   \/  /
 *     |       _// __ \\____ \ /  _ \|       _/ /  /_\  \/   \  ___ \     / 
 *     |    |   \  ___/|  |_> >  <_> )    |   \/    |    \    \_\  \/     \ 
 *     |____|_  /\___  >   __/ \____/|____|_  /\____|__  /\______  /___/\  \
 *            \/     \/|__|                 \/         \/        \/      \_/
 */

Chat with your github repository

Troubleshooting

Import errors

If you encounter import errors:
# Verify all packages are installed
pip list | grep -E "langchain|chromadb|sentence-transformers"

# Reinstall dependencies
pip install -r requirements.txt --force-reinstall

Python version mismatch

If you’re using the wrong Python version:
# Check which Python is active
which python
python --version

# Recreate environment with correct version
conda deactivate
conda remove -p venv --all
conda create -p venv python==3.12
conda activate venv/

ChromaDB errors

If ChromaDB fails to initialize:
# Clear the vector store
rm -rf ~/.RepoRAGX/vector_store/

# Reinstall ChromaDB
pip uninstall chromadb
pip install chromadb==1.5.1

Build docs developers (and LLMs) love