Frequently Asked Questions (FAQ)
Find quick answers to the most common questions about the YODI API.
🚀 Getting started
How do I get started with the YODI API?
- Create an account on our platform
- Generate an API key from your dashboard
- See our quick start guide
- Test with our code examples
Where can I find my API key?
Sign in to your YODI account and go to the "API Keys" section of your dashboard. You can create, manage, and revoke API keys at any time.
Is the YODI API compatible with OpenAI?
Yes! Our API is broadly compatible with the OpenAI API. You can typically swap the OpenAI endpoint for ours with minimal code changes.
🔧 Technical details
Which models are available?
| Model | Description | Primary use cases |
|---|---|---|
| yodi-1 | General conversational model | Chat, Q&A, text generation |
| yodi-1-32k | Extended context version | Long documents, deep analysis |
| yodi-instruct | Instruction-optimized | Structured tasks, data extraction |
| yodi-code | Code-focused model | Code generation, debugging, docs |
| yodi-embed | Embeddings generator | Semantic search, recommendations |
What is the token limit per request?
- yodi-1 : 4 096 tokens (contexte + réponse)
- yodi-1-32k : 32 768 tokens
- yodi-instruct : 4 096 tokens
- yodi-code : 8 192 tokens
- yodi-embed : 8 192 tokens d'entrée
Comment calculer le nombre de tokens ?
Un token représente environ 3-4 caractères en français. Utilisez notre calculateur de tokens ou nos bibliothèques SDK qui incluent des fonctions de comptage.
L'API supporte-t-elle le streaming ?
Oui ! Tous nos modèles de chat supportent le streaming en temps réel. Ajoutez simplement "stream": true à votre requête.
{
"model": "yodi-1",
"messages": [...],
"stream": true
}
💳 Facturation et plans
Comment fonctionne la facturation des tokens ?
Vous êtes facturé uniquement pour les tokens consommés (tokens d'entrée + tokens de sortie). Les quotas non utilisés ne sont pas reportés au mois suivant.
Que se passe-t-il si je dépasse mon quota ?
Plan Gratuit/Développeur : Vos requêtes seront temporairement suspendues jusqu'au renouvellement du quota.
Plan Pro/Entreprise : Selon votre configuration, soit suspension temporaire, soit facturation des dépassements aux tarifs en vigueur.
Puis-je changer de plan à tout moment ?
Oui, les upgrades sont immédiats. Les downgrades prennent effet au prochain cycle de facturation pour éviter les interruptions de service.
Proposez-vous des remises pour les gros volumes ?
Oui, contactez notre équipe commerciale à sales@yodi.tg pour discuter de tarifs préférentiels selon votre volume d'utilisation.
🔒 Sécurité et confidentialité
Mes données sont-elles sécurisées ?
Absolument. Nous appliquons les meilleures pratiques de sécurité :
- Chiffrement TLS 1.3 pour toutes les communications
- Chiffrement AES-256 pour le stockage
- Conformité RGPD et certifications SOC2
- Aucune conservation des données personnelles par défaut
YODI utilise-t-il mes données pour entraîner ses modèles ?
Non. Vos données ne sont jamais utilisées pour entraîner ou améliorer nos modèles, sauf autorisation explicite de votre part. Consultez notre politique de confidentialité pour plus de détails.
Où sont stockées mes données ?
Nos serveurs sont hébergés en Europe (France, Allemagne) dans des centres de données certifiés ISO 27001. Les données restent dans l'UE et respectent le RGPD.
Combien de temps conservez-vous les logs ?
- Plan Gratuit : 7 jours
- Plan Développeur : 30 jours
- Plan Pro : 90 jours
- Plan Entreprise : Jusqu'à 1 an (configurable)
Performance et fiabilité
Quelle est la latence moyenne de l'API ?
- Latence médiane : < 800ms
- P95 : < 2s
- P99 : < 5s
Les performances varient selon la complexité de la requête et la charge du système.
Quel est le SLA de disponibilité ?
- Plan Gratuit : Effort commercial (pas de SLA)
- Plan Développeur : 99%
- Plan Pro : 99.5%
- Plan Entreprise : 99.9%
Comment gérer les erreurs et les timeouts ?
Implémentez toujours une logique de retry avec backoff exponentiel :
import time
import random
def retry_with_backoff(func, max_retries=3):
for attempt in range(max_retries):
try:
return func()
except Exception as e:
if attempt == max_retries - 1:
raise e
wait_time = (2 ** attempt) + random.uniform(0, 1)
time.sleep(wait_time)
Existe-t-il des limitations de taux ?
Oui, selon votre plan :
- Gratuit : 10 requêtes/minute
- Développeur : 60 requêtes/minute
- Pro : 200 requêtes/minute
- Entreprise : Personnalisable
🛠️ Développement et intégration
Quels langages de programmation sont supportés ?
Nous fournissons des SDK officiels pour :
- Python (yodi-python)
- JavaScript/Node.js (yodi-js)
- cURL (exemples complets)
L'API REST peut être utilisée avec n'importe quel langage supportant HTTP.
Comment gérer l'authentification ?
Utilisez votre clé API dans l'header Authorization :
Authorization: Bearer your-api-key-here
Important : Ne jamais exposer votre clé API côté client. Utilisez un proxy backend pour les applications web.
Puis-je utiliser YODI dans une application mobile ?
Oui, mais uniquement côté backend. Ne jamais inclure votre clé API dans une application mobile. Créez une API intermédiaire qui proxy les requêtes vers YODI.
Comment implémenter un système de cache ?
import hashlib
import json
from functools import wraps
def cache_response(ttl_seconds=300):
cache = {}
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
# Créer une clé de cache
cache_key = hashlib.md5(
json.dumps([args, kwargs], sort_keys=True).encode()
).hexdigest()
# Vérifier le cache
if cache_key in cache:
result, timestamp = cache[cache_key]
if time.time() - timestamp < ttl_seconds:
return result
# Appeler la fonction et mettre en cache
result = func(*args, **kwargs)
cache[cache_key] = (result, time.time())
return result
return wrapper
return decorator
🌍 Support et communauté
Où obtenir de l'aide ?
Documentation : docs.yodi.tg
Support technique :
- Email : support@yodi.tg
- Chat : Disponible sur notre plateforme
- Forum : community.yodi.tg
Temps de réponse :
- Gratuit : Forum communautaire
- Développeur : 48h par email
- Pro : 24h avec priorité
- Entreprise : Support dédié 24/7
Comment signaler un bug ?
- Vérifiez que vous utilisez la dernière version de nos SDK
- Consultez les problèmes connus sur notre status page
- Envoyez un rapport détaillé à support@yodi.tg avec :
- Code de reproduction minimal
- Logs d'erreur complets
- Version de votre SDK
- Informations système
Existe-t-il une communauté de développeurs ?
Oui ! Rejoignez-nous sur :
- Discord : discord.gg/yodi
- GitHub : github.com/yodi-ai
- LinkedIn : Page entreprise YODI
- Twitter : @yodi_ai
🔮 Fonctionnalités avancées
Qu'est-ce que le fine-tuning ?
Le fine-tuning permet d'adapter nos modèles à vos cas d'usage spécifiques en les entraînant sur vos données. Disponible à partir du plan Pro.
Processus :
- Préparez vos données d'entraînement
- Uploadez via notre interface
- Lancez l'entraînement (2-24h selon la taille)
- Testez et déployez votre modèle personnalisé
Comment utiliser les webhooks ?
Les webhooks permettent de recevoir des notifications en temps réel :
from flask import Flask, request
import hmac
import hashlib
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def handle_webhook():
# Vérifier la signature
signature = request.headers.get('X-Yodi-Signature')
payload = request.get_data()
expected_signature = hmac.new(
webhook_secret.encode(),
payload,
hashlib.sha256
).hexdigest()
if signature == f"sha256={expected_signature}":
# Traiter l'événement
event = request.json
print(f"Événement reçu : {event['type']}")
return '', 200
Puis-je déployer YODI on-premise ?
Oui, c'est possible avec le plan Entreprise. Nous proposons :
- Déploiement containerisé (Docker/Kubernetes)
- Installation sur site avec support dédié
- Hybrid cloud pour les cas d'usage mixtes
🚨 Résolution de problèmes
Erreur 401 - Unauthorized
Causes communes :
- Clé API invalide ou expirée
- Clé API mal formatée dans l'header
- Compte suspendu
Solutions :
- Vérifiez votre clé API
- Assurez-vous d'utiliser
Bearer your-keydans l'Authorization header - Contactez le support si le problème persiste
Erreur 429 - Too Many Requests
Cause : Vous avez dépassé les limites de taux de votre plan.
Solutions :
- Implémentez un système de retry avec backoff
- Optimisez vos requêtes (mise en cache, batching)
- Upgradez votre plan pour des limites plus élevées
Erreur 500 - Internal Server Error
Cause : Erreur temporaire de nos serveurs.
Solutions :
- Réessayez après quelques secondes
- Consultez notre status page
- Contactez le support si l'erreur persiste
Réponses incohérentes ou de mauvaise qualité
Optimisations :
- Ajustez la température (0.1 pour plus de cohérence, 0.9 pour plus de créativité)
- Améliorez vos prompts (plus de contexte, exemples, instructions claires)
- Utilisez le bon modèle (yodi-instruct pour les tâches structurées)
- Limitez max_tokens pour des réponses plus concises
📈 Optimisation et bonnes pratiques
Comment optimiser mes coûts ?
- Utilisez le cache pour les réponses similaires
- Minimisez le contexte en gardant seulement l'essentiel
- Choisissez le bon modèle selon la complexité de la tâche
- Implémentez des timeouts courts pour éviter les requêtes trop longues
- Analysez vos métriques dans le dashboard pour identifier les optimisations
Comment améliorer la qualité des réponses ?
- Prompts clairs et spécifiques avec exemples
- Contexte suffisant mais pas excessif
- Instructions explicites sur le format attendu
- Temperature adaptée à votre cas d'usage
- Tests A/B sur différentes formulations
Comment surveiller l'utilisation de l'API ?
Utilisez notre dashboard ou notre API de monitoring :
import requests
response = requests.get(
"https://api.yodi.tg/v1/usage",
headers={"Authorization": f"{api_key}"}
)
usage_data = response.json()
print(f"Tokens utilisés ce mois : {usage_data['tokens_used']}")
print(f"Quota restant : {usage_data['tokens_remaining']}")
📞 Contact
Une question non couverte par cette FAQ ?
- 📧 Support général : support@yodi.tg
- 💼 Questions commerciales : sales@yodi.tg
- 🐛 Signaler un bug : bugs@yodi.tg
- 💡 Suggestions : feedback@yodi.tg
Réponse généralement sous 24h (selon votre plan de support).
Cette FAQ est mise à jour régulièrement. Dernière mise à jour : Janvier 2024