Objectif : envoyer votre première requête IA via AISIA en 5 étapes.
---
# Créer un compte
curl -X POST https://aisia.fr/auth/register \
-H "Content-Type: application/json" \
-d '{"email": "vous@exemple.com", "password": "VotreMotDePasse123!"}'
Se connecter
curl -X POST https://aisia.fr/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "vous@exemple.com", "password": "VotreMotDePasse123!"}'
Réponse :
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer"
}
Conservez le access_token pour les étapes suivantes.
---
export TOKEN="eyJhbGciOiJIUzI1NiIs..."
curl -X POST https://aisia.fr/v1/invoke \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"input": {
"prompt": "Explique-moi le machine learning en 3 phrases."
},
"max_tokens": 200
}'
AISIA route automatiquement votre requête vers le meilleur modèle disponible (local ou cloud) via l'algorithme bandit UCB1.
---
import requests
BASE = "https://aisia.fr"
TOKEN = "eyJhbGciOiJIUzI1NiIs..."
headers = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json",
}
Requête simple
response = requests.post(f"{BASE}/v1/invoke", headers=headers, json={
"input": {"prompt": "Écris un haiku sur l'intelligence artificielle."},
"max_tokens": 100,
})
data = response.json()
print(data["output"]["text"])
print(f"Provider: {data['provider_id']} — {data['latency_ms']}ms")
---
const BASE = "https://aisia.fr";
const TOKEN = "eyJhbGciOiJIUzI1NiIs...";
const response = await fetch(${BASE}/v1/invoke, {
method: "POST",
headers: {
"Authorization": Bearer ${TOKEN},
"Content-Type": "application/json",
},
body: JSON.stringify({
input: { prompt: "Quel est le sens de la vie ?" },
max_tokens: 150,
}),
});
const data = await response.json();
console.log(data.output.text);
console.log(Provider: ${data.provider_id} — ${data.latency_ms}ms);
---
curl -N -X POST https://aisia.fr/v1/invoke/stream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"input": {"prompt": "Raconte une histoire courte."}, "max_tokens": 300}'
Les tokens arrivent en temps réel via Server-Sent Events.
---
{
"input": {
"prompt": "Hello world",
"routing_hints": {"preferred_provider": "groq"}
}
}
{
"input": {
"prompt": "Bonjour",
"routing_hints": {"local_only": true}
}
}
# Providers cloud (pas d'auth requise)
curl https://aisia.fr/v1/providers
Modèles locaux (pas d'auth requise)
curl https://aisia.fr/v1/local-models
Tous les modèles combinés (auth requise)
curl -H "Authorization: Bearer $TOKEN" https://aisia.fr/v1/models
---
| Endpoint | Méthode | Description |
|---|---|---|
/v1/invoke | POST | Requête synchrone |
/v1/invoke/stream | POST | Requête streaming (SSE) |
/v1/providers | GET | Liste des providers cloud |
/v1/local-models | GET | Liste des modèles locaux |
/v1/models | GET | Tous les modèles |
/health | GET | Santé du service |
/docs | GET | Documentation OpenAPI (Swagger) |