Skip to main content

OTTO: Getting Started

Deploy OTTO on your premises and get your first AI-powered intelligence card in under 10 minutes. All inference runs locally — no data leaves your network.

Prerequisites

  • Python 3.9+ on the host server (arm64 or x86_64)
  • Active BrainPredict OTTO subscription and partner API key
  • 4 GB RAM minimum (8 GB recommended for transformer NER)
  • Network access to PyPI for one-time model download (offline mode available)

Step 1: Install the OTTO Server

# Clone the OTTO messenger server
git clone https://github.com/brainpredict/otto-server.git
cd otto-server

# Install Python dependencies
pip install -r requirements.txt

# Download NLP models (one-time, ~500 MB)
python -m spacy download en_core_web_trf
# sentence-transformers model auto-downloads on first start

Step 2: Configure

# config.env
OTTO_API_URL=http://localhost:6670
OTTO_TENANT_ID=your-tenant-id
OTTO_API_KEY=bp_otto_live_xxxxxxxxxxxx
# Zero-knowledge: no external endpoints needed

Step 3: Start the Server

cd otto-server
uvicorn server.main:app --host 0.0.0.0 --port 6670

# On first start you will see:
# spaCy NER active — en_core_web_trf (transformer) loaded
# SemanticDomainClassifier ready — SBERT all-MiniLM-L6-v2 | 17 domain centroids | dim=384
# Application startup complete.

Step 4: Your First Query

# Streaming SSE query (word-by-word)
curl "http://localhost:6670/api/otto/stream?query=what+is+our+Q1+profitability" -N

# JSON response
curl -X POST http://localhost:6670/api/otto/ask   -H "Content-Type: application/json"   -d '{"query": "what is our Q1 profitability?"}'

# NLP stack status
curl http://localhost:6670/api/otto/nlp-capabilities