Overview
This guide provides comprehensive installation instructions for CheckThat AI. You can choose between automated setup using scripts or manual installation for more control.For a faster setup, see the Quickstart Guide which uses automated scripts.
Prerequisites
Before installing CheckThat AI, ensure your system meets these requirements:System requirements
- Operating System: Linux, macOS, or Windows (with WSL recommended)
- Node.js: Version 18 or higher
- Python: Version 3.8 or higher
- Git: For cloning the repository
- npm: Comes with Node.js
- pip: Python package installer (comes with Python)
Verify installations
Check that you have the required tools installed:API keys
Obtain API keys for the AI providers you plan to use:OpenAI API Key
OpenAI API Key
- Visit OpenAI Platform
- Sign up or log in to your account
- Navigate to API Keys
- Click “Create new secret key”
- Copy and save your key securely
Anthropic API Key
Anthropic API Key
- Visit Anthropic Console
- Sign up or log in
- Navigate to API Keys section
- Generate a new API key
- Save your key securely
Google AI API Key
Google AI API Key
- Visit Google AI Studio
- Sign in with your Google account
- Click “Get API Key”
- Create a new API key or use an existing one
- Save your key securely
xAI API Key
xAI API Key
- Visit xAI Console
- Sign up or log in
- Navigate to API section
- Generate your API key
- Save your key securely
Together AI (Free Models)
Together AI (Free Models)
Together AI offers free models that don’t require an API key for local development:
- Llama 3.3 70B (free, no key required)
- DeepSeek R1 Distill Llama 70B (free, no key required)
Installation methods
Option 1: Automated setup (recommended)
The automated setup is the fastest way to get started:Run setup script
- Detects your OS (Linux/macOS/Windows)
- Terminates conflicting processes on port 5173
- Installs frontend dependencies (Node.js packages)
- Fixes npm vulnerabilities
- Creates Python virtual environment
- Installs backend dependencies with
uv(falls back topip) - Handles cross-platform compatibility
Option 2: Manual setup
For more control over the installation process:Backend installation
Create virtual environment
(.venv) in your terminal prompt indicating the virtual environment is active.Install Python dependencies
fastapi[standard]- Web frameworkuvicorn[standard]- ASGI server- AI provider SDKs:
openai,anthropic,together,google-genai,xai-sdk - Data processing:
pandas,numpy,nltk,scipy,scikit-learn - Evaluation:
deepevalfor G-Eval metrics - Utilities:
pydantic,pydantic-settings,httpx,requests
Frontend installation
Install Node.js dependencies
- Framework: React 19, React Router v7
- Build tool: Vite 7
- Styling: Tailwind CSS 4
- UI components: Radix UI primitives, Lucide icons
- Utilities: TypeScript, class-variance-authority, clsx
Configuration
Environment variables
CheckThat AI uses environment variables for configuration. Here’s the complete reference:API keys
Backend configuration
Frontend configuration
The frontend automatically connects to the backend athttp://localhost:8000 in development. For production, update the API URL in src/app/client/src/lib/config.ts:
Persistent environment variables
To make environment variables persistent across terminal sessions:Linux/macOS
Add to your shell configuration file (~/.bashrc, ~/.zshrc, etc.):
Windows
PowerShell Profile:-
Open PowerShell and run:
-
Add your environment variables:
-
Save and reload:
- Open System Properties → Environment Variables
- Add new user or system variables
- Restart your terminal
Production deployment
Building for production
Backend
The FastAPI backend is production-ready by default. For deployment:Frontend
Build the frontend for production:src/app/dist/ ready for deployment to:
- GitHub Pages
- Netlify
- Vercel
- AWS S3 + CloudFront
- Any static hosting service
Deployment options
GitHub Pages (frontend)
The project includes a deploy script:/docs folder for GitHub Pages.
Cloud hosting (backend)
Render:- Create a new Web Service on Render
- Connect your repository
- Configure:
- Build Command:
pip install -r requirements.txt - Start Command:
uvicorn api.main:app --host 0.0.0.0 --port $PORT
- Build Command:
- Add environment variables in Render dashboard
- Create new project from GitHub repo
- Railway auto-detects Python and installs dependencies
- Add environment variables
- Deploy automatically on push
Troubleshooting
Common issues
Port already in use
Problem: Error “Port 5173 already in use” or “Port 8000 already in use” Solution:Permission denied on scripts
Problem:./setup-project.sh: Permission denied
Solution:
Windows script execution
Problem: Scripts don’t run on Windows Solution: Use Git Bash or WSL:npm install fails
Problem:npm install fails with errors
Solution:
Python module not found
Problem:ModuleNotFoundError: No module named 'fastapi'
Solution:
NLTK data missing
Problem:LookupError: Resource punkt not found
Solution:
API key not working
Problem: “Invalid API key” or “Unauthorized” errors Solution:- Verify API key is correct (no extra spaces)
- Check API key has sufficient credits/quota
- Ensure environment variable is set:
- Restart terminal and reactivate environment
- Check provider’s status page for outages
CORS errors in browser
Problem: “CORS policy: No ‘Access-Control-Allow-Origin’ header” Solution:- Verify backend is running on correct port
- Check CORS configuration in
api/core/config.py - Set CORS_ORIGINS environment variable:
- Restart backend server
Frontend build fails
Problem:npm run build fails with TypeScript errors
Solution:
Getting help
If you’re still experiencing issues:- Check logs: Look for error messages in terminal output
- Search issues: Check GitHub Issues
- Create issue: Report bugs with:
- Operating system and version
- Node.js and Python versions
- Complete error messages
- Steps to reproduce
- Community support: Join discussions on the repository
Next steps
Now that you have CheckThat AI installed:Quickstart Guide
Learn how to make your first API call
API Reference
Explore all available endpoints
Evaluation Methods
Understand normalization strategies
Model Comparison
Compare AI models and choose the best fit