Skip to main content

OTTO Fast Learning

Ingest your live business KPIs, CRM exports, or ERP data at runtime. OTTO enriches every subsequent query with your actual numbers — no retraining required.

How It Works

  1. 1POST your data to /api/otto/learn — structured KV pairs labelled by domain and period
  2. 2Context persists in SQLite (otto_learning.db) — survives server restarts, max 50 entries per session
  3. 3Every /api/otto/ask and /api/otto/stream call prepends your data to the intelligence narrative

Ingest API

POST /api/otto/learn
Content-Type: application/json

{
  "domain": "SALES",
  "label": "Live Sales KPIs — Q1 2025",
  "data": {
    "revenue": "€47.2M",
    "new_logos": 34,
    "win_rate": "67%",
    "pipeline": "€142M"
  }
}

SDK — FastLearningClient

import { FastLearningClient } from '@brainpredict/otto-sdk';

const learner = new FastLearningClient({ baseUrl: 'http://your-otto-server:6670' });

await learner.ingest('FINANCE', 'Q1 2025 Actuals', {
  ebitda_margin: '25.0%',
  net_income: '€7.55M',
  cash: '€28.4M',
  fcf: '€6.6M'
});

const status = await learner.status();
console.log(status.total_datasets); // 1

Context Status

GET /api/otto/learn/status

{
  "total_datasets": 2,
  "domains": ["SALES", "FINANCE"],
  "summary": "Total: 2 datasets loaded. Responses enriched with your data."
}