-
Notifications
You must be signed in to change notification settings - Fork 1
Quick Start
Get Amadeus running in under 10 minutes.
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.11+ | Required |
uv package manager |
Latest | Recommended; or use pip
|
| Docker Desktop | Latest | For containerised setup or sandboxed code execution |
| PostgreSQL | 15+ | Production; SQLite is the default for development |
| Redis | 5+ | Caching and rate limiting |
| LLM API key or local GGUF model | — | At least one required |
# 1. Clone the repository
git clone https://github.com/adityatawde9699/Amadeus-AI.git
cd Amadeus-AI
# 2. Install dependencies
uv sync --all-extras --dev
# or: pip install -e ".[all]"
# 3. Configure environment
cp .env.example .env
# Edit .env — at minimum set GROQ_API_KEY and SECRET_KEY
# 4. Run database migrations
uv run alembic upgrade head
# 5. Start the server
uv run uvicorn src.api.server:app --reload --host 0.0.0.0 --port 8000Interactive API docs available at http://localhost:8000/docs (requires DEBUG=true).
Download a GGUF model (e.g., Phi-3 mini) and place it in the Model/ directory:
pip install llama-cpp-pythonThen set in .env:
SLM_MODEL_PATH=./Model/phi-3-mini-4k-instruct-q4.gguf
LOCAL_ONLY_MODE=trueEnables the search_workspace tool over your local files:
python scripts/index_workspace.py --root "C:\Users\ASUS\Downloads" --max-chunks 15000
# Subsequent runs are incremental — only changed files are re-embeddeddocker-compose up --build
# API available at http://localhost:8000
# Interactive docs at http://localhost:8000/docs# Set POSTGRES_PASSWORD and SECRET_KEY in .env first
docker-compose --profile prod up --build -d
# View logs
docker-compose logs -f api-prodThe production profile runs Gunicorn with 4 Uvicorn workers (2 CPU / 1 GB RAM limit). Redis and PostgreSQL ports are not exposed to the host — they remain internal to the Docker bridge network.
Windows shortcut: Run
Setup_Amadeus.batfor guided first-time setup with auto-generatedSECRET_KEY.
import jwt, datetime
payload = {
"sub": "admin",
"iat": datetime.datetime.utcnow(),
"exp": datetime.datetime.utcnow() + datetime.timedelta(hours=24),
}
token = jwt.encode(payload, "your-secret-key", algorithm="HS256")
print(token)Use the token in all protected API calls:
Authorization: Bearer <token>
← Home | Configuration-Reference →
Amadeus-AI · v6.0.0· Apache License 2.0 · Report a Bug
Getting Started
Architecture
Reference
Integrations
Operations
Development
Project
Links