Skip to content

Démarrer

Trois minutes entre votre clé et votre première prédiction.

1. Une clé d'usage

Les clés d'usage commencent par sk-spv-api-. Créez-en une depuis le tableau de bord, ou par l'API une fois connecté.

sh
export SPAVIK_API_KEY="sk-spv-api-..."
export SPAVIK_BASE_URL="https://spavik-gateway-test-bnp1bedb.ew.gateway.dev"

Le secret n'apparaît qu'une fois, au moment de la création. Il ne sera plus jamais affiché.

Environnement

L'adresse ci-dessus est celle de l'environnement de test. Les bibliothèques la lisent dans SPAVIK_BASE_URL, et tous les exemples de cette documentation s'y réfèrent.

2. Vérifier les données, puis un modèle

validate dit, gratuitement, si la table tient et quoi corriger en premier. Créer un modèle, c'est ensuite l'entraîner : les données partent dans le même appel.

python
rapport = spavik.validate("churn.csv", target="churn")
print(rapport["trial"]["verdict"]["message"])   # Accuracy of 0.83, against 0.50 for the majority class.
python
from spavik import Spavik

spavik = Spavik()
model = spavik.train("churn.csv", target="churn")
print(model.id)
js
import { Spavik } from '@spavik/client';

const spavik = new Spavik();
const model = await spavik.train('churn.csv', { target: 'churn' });
console.log(model.id);
sh
curl -X POST "$SPAVIK_BASE_URL/v1/models" \
  -H "X-API-Key: $SPAVIK_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"target":"churn","engine":"tabicl-v2","data":[{"plan":"pro","seats":12,"churn":0}, ...]}'

Il faut au moins dix lignes, et une colonne à prédire qui prenne au moins deux valeurs différentes. Cet appel ne consomme aucun crédit.

Le champ engine est obligatoire en appel direct. Les bibliothèques s'en chargent : elles lisent le moteur par défaut et le renseignent pour vous.

3. Prédire

python
r = model.predict({"plan": "pro", "seats": 12, "tickets_90d": 3})
print(r.lignes[0])   # {'prediction': 0, 'proba_0': 0.87, 'proba_1': 0.13}
print(r.cout, r.solde)

Chaque ligne scorée coûte un crédit sur le moteur par défaut. Chaque prédiction porte un request_id : gardez-le, c'est par lui que vous remonterez ce qui est réellement arrivé.

4. Boucler

C'est ce qui distingue un modèle figé d'un service qui s'améliore. Remontez ce qui est réellement arrivé, puis intégrez-le.

python
model.submit_outcomes([
    {"request_id": "1bc55e5c-...", "actual": 1},              # par identifiant
    {"features": {"plan": "free", "seats": 2}, "actual": 0},  # ou par caractéristiques
])
model.performance(days=30)       # le verdict : tient, faiblit ou a décroché
model.refresh()                  # intègre les vérités, si le modèle tient

actual contient la valeur réellement observée. Chaque vérité se rattache soit par le request_id de la prédiction d'origine, soit par les caractéristiques complètes de la ligne. La bibliothèque refuse en local celle qui n'aurait ni l'un ni l'autre, avant même d'envoyer quoi que ce soit.

Envoyez vos vérités par lots : un appel vaut un lot, et sur un modèle en mise à jour automatique, chaque lot déclenche une intégration.

Prévoir une série temporelle

forecast ne conserve rien : ni modèle, ni identifiant.

python
p = spavik.forecast("ventes.csv", target="ventes", horizon=7)
p.points     # [{'date': '2026-08-01', 'ventes_prediction': 118.4, 'quantile_0.1': ...}, ...]
p.csv        # le CSV rendu par l'API, tel quel
p.cout       # 7 crédits

L'API répond en CSV ; la bibliothèque le découpe en lignes, quantiles compris. Votre série doit compter au moins autant de points que l'horizon demandé, et de préférence plusieurs fois plus.

Pour aller plus loin

Documentation générée pour partie depuis le contrat OpenAPI.