
Utiliser EvoLink Smart Router : configuration API et tests
https://direct.evolink.ai/v1/chat/completions avec model: "evolink/auto".response.model, ce qui rend le routage observable.Référence rapide
| Paramètre | Valeur | Rôle |
|---|---|---|
| Endpoint | https://direct.evolink.ai/v1/chat/completions | Chat Completions compatible OpenAI |
| Authentification | Authorization: Bearer $EVOLINK_API_KEY | Authentifie la requête |
| Model ID | evolink/auto | Active Smart Router |
| Format | Tableau messages compatible OpenAI | Conserve les patterns SDK habituels |
| Modèle routé | response.model | Indique le modèle réellement utilisé |
| Périmètre actuel | Texte et workflows d'agents | Image et vidéo utilisent des IDs explicites |
1. Préparer la clé API
export EVOLINK_API_KEY="your-api-key"Avec PowerShell :
$env:EVOLINK_API_KEY="your-api-key"Utilisez des clés distinctes pour le développement, le staging et la production afin de faciliter l'analyse et la rotation.
2. Envoyer la première requête
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "evolink/auto",
"messages": [
{
"role": "user",
"content": "Classe cette demande en facturation, problème technique ou accès au compte : je ne peux plus me connecter après avoir réinitialisé mon mot de passe."
}
],
"temperature": 0.2,
"stream": false
}'model :{
"id": "chatcmpl-example",
"object": "chat.completion",
"model": "actual-routed-model",
"choices": [
{
"message": {
"role": "assistant",
"content": "accès au compte"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 26,
"completion_tokens": 4,
"total_tokens": 30
}
}actual-routed-model est un exemple. Inspectez toujours la valeur réellement renvoyée.3. Intégration Python
import os
import time
from openai import OpenAI
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url="https://direct.evolink.ai/v1",
)
started_at = time.perf_counter()
response = client.chat.completions.create(
model="evolink/auto",
messages=[
{
"role": "user",
"content": "Résume ce rapport d'incident et indique les deux prochaines actions d'ingénierie.",
}
],
temperature=0.2,
)
print("routed_model:", response.model)
print("latency_ms:", round((time.perf_counter() - started_at) * 1000))
print("usage:", response.usage)
print("output:", response.choices[0].message.content)baseURL: "https://direct.evolink.ai/v1" et model: "evolink/auto".Fonctionnement du routage
- L'application envoie une requête OpenAI-compatible avec
evolink/auto. - Le routeur analyse le type et la complexité de la tâche.
- La requête est associée à un profil Fast, Standard ou Reasoning.
- Un modèle candidat adapté traite la requête.
- Le modèle choisi est visible dans
response.model.
| Profil | Usage typique | Exemples |
|---|---|---|
| Fast | Tâches simples à fort volume | Réécriture, classification, formatage |
| Standard | Traitement général du texte | Résumé, extraction, analyse support |
| Reasoning | Analyse et planification complexes | Analyse multi-étapes, aide à la décision |
| Coding / Agentic Coding | Workflows de code si pris en charge | Review, débogage, plan de refactor |
Les profils représentent des catégories de tâches, pas une liste publique permanente de modèles.
Smart Router ou modèle fixe ?
| Workload | Smart Router | Modèle fixe |
|---|---|---|
| Classification, extraction et raisonnement mélangés | Bon point de départ | Nécessite des règles maison |
| Début de produit | Utile pour collecter des données | Pertinent après une baseline stable |
| Benchmark strict | Mauvais choix car le modèle peut varier | Choix correct |
| QA déterministe ou validation contrôlée | À encadrer avec soin | Généralement plus sûr |
| Fonction propre à un modèle | Non garantie | Obligatoire |
| Génération image ou vidéo | Hors périmètre actuel | Utiliser un ID média explicite |
Une architecture réaliste conserve les deux chemins : routage pour le texte mixte et IDs fixes pour les fonctions évaluées ou contrôlées.
Données à journaliser
| Champ | Pourquoi |
|---|---|
| Nom du workflow | Sépare les types de trafic |
| Request ID | Relie logs applicatifs et diagnostic API |
response.model | Identifie le modèle routé |
| Latence | Vérifie l'objectif de temps de réponse |
| Tokens d'entrée et de sortie | Aide à analyser usage et coût |
| Statut HTTP et retries | Met en évidence les problèmes de fiabilité |
| Résultat qualité | Enregistre l'évaluation propre à la tâche |
Ne journalisez pas de contenu sensible si cela contrevient à vos règles de confidentialité.
Tester avant la production
- Constituez un jeu représentatif avec des entrées normales, ambiguës et invalides.
- Choisissez le modèle fixe actuel comme baseline.
- Exécutez les mêmes entrées et paramètres via
evolink/auto. - Comparez qualité, latence, tokens, erreurs et modèle routé par workflow.
- Commencez par du trafic à faible risque et conservez des modèles fixes pour la QA stricte.
Un bon résultat moyen peut masquer un problème critique sur un workflow particulier.
Erreurs API courantes
| Statut | Signification | Action |
|---|---|---|
400 | Paramètres invalides | Vérifier JSON, Model ID et types |
401 | Clé invalide ou expirée | Vérifier ou renouveler le Bearer token |
402 | Quota insuffisant | Vérifier crédits et facturation |
403 | Accès refusé | Confirmer l'accès à Smart Router |
429 | Rate limit | Retries bornés avec backoff et jitter |
500 / 502 / 503 | Erreur interne ou upstream | Réessayer avec backoff et prévoir un fallback |
Définissez des timeouts explicites et évitez les retries illimités.
Erreurs d'adoption fréquentes
- considérer Smart Router comme une garantie du modèle le moins cher
- supposer que le même prompt donne toujours le même modèle
- envoyer des générations image ou vidéo à
evolink/auto - ne pas enregistrer
response.model - publier une liste figée de modèles candidats
FAQ
Quel endpoint utiliser ?
POST https://direct.evolink.ai/v1/chat/completions, comme dans la documentation officielle.Quel Model ID active Smart Router ?
model sur evolink/auto.Comment connaître le modèle utilisé ?
model de la réponse et enregistrez-le avec la latence, les tokens et les métadonnées du workflow.Smart Router est-il toujours moins cher ?
Non. Le coût dépend des requêtes, du modèle routé, de la longueur de sortie, des retries et du niveau de qualité attendu.
Le même prompt utilise-t-il toujours le même modèle ?
Ne construisez pas votre contrat produit sur cette hypothèse. Utilisez un modèle fixe quand l'identité du modèle ou la reproductibilité est nécessaire.
Smart Router fonctionne-t-il pour les images et vidéos ?
Le périmètre actuel couvre les requêtes texte et agents compatibles. Utilisez des IDs explicites pour les médias.
Le streaming est-il disponible ?
stream. Validez son comportement avec votre compte et votre client avant de l'utiliser en production.Quand passer à un modèle fixe ?
Lorsqu'un workflow a un gagnant validé, nécessite une fonction propre à un modèle ou suit des tests et validations stricts.
Étape suivante
evolink/auto et un modèle fixe. Comparez qualité, latence, tokens, erreurs et modèle renvoyé.

