Incluez votre clé API dans le header Authorization :
Authorization: Bearer VOTRE_TOKEN
Le système :
Hydrate automatiquement l'utilisateur à partir du token
Vérifie les droits d'accès aux agents
Effectuer des requêtes
Endpoint
POST /v1/chat/completions
Corps de la Requête
Paramètre
Type
Obligatoire
Description
model
string
Oui
Un ID d'agent créé dans le système.
messages
array
Oui
Tableau des messages composant la conversation (maximum 4 messages).
temperature
float
Non
Contrôle l'aléatoire dans les réponses. Valeurs entre 0 et 1. Défaut: 0.8 ou valeur configurée pour l'agent.
max_tokens
integer
Non
Nombre maximum de tokens à générer.
top_p
float
Non
Contrôle la diversité via l'échantillonnage nucleus.
n
integer
Non
Nombre de completions à générer.
stop
string/array
Non
Séquences où l'API arrêtera la génération.
stopSequences
array
Non
Séquences additionnelles où l'API arrêtera la génération.
frequency_penalty
float
Non
Pénalité de fréquence pour réduire la répétition.
presence_penalty
float
Non
Pénalité de présence pour encourager la nouveauté.
stream
boolean
Non
Si vrai, les deltas de messages partiels seront envoyés.
conversation_id
string
Non
ID de la conversation existante à continuer.
response_format
string
Non
Format de réponse souhaité (par exemple, { type: "text" | "json_object"}). (compatible selon le LLM actif)
lang
string
Non
Langue pour la réponse. Par défaut, locale de l'utilisateur ou 'fr'.
files
array
Non
Tableau des IDs de fichiers à inclure dans le contexte.
clientModel
string
Non
Modèle spécifique à utiliser avec la configuration Devana AI. Défaut: valeur de DEFAULT_MODEL.
custom
object
Non
Options de configuration personnalisées, comme disableAutomaticIdentity.
metadata
object
Non
Metadata pour les dashboards et logging via webhooks (Si configurés).
headers
object
Non
Headers complémentaires pour l'authentification des tools calls.
identity
object
Non
Informations d'identité de l'utilisateur pour personnaliser le comportement de l'agent.
asyncRagScore
boolean
Non
Si vrai, on n'attend pas le calcul du score RAG.
attachementsFastMode
boolean
Non
Si vrai, nous ignorons la vision sur les attachements
hiddenMode
boolean
Non
Si vrai, la conversation ne sera pas visible dans l'interface utilisateur Devana.
Vérifications et limites
Le système effectue automatiquement plusieurs vérifications :
Maximum 4 messages par requête
Température entre 0 et 1
Présence obligatoire d'au moins un message utilisateur
Vérification des limites d'utilisation par utilisateur
Validation des droits d'accès à l'agent
Tool Calls
Les outils ajoutés via l'interface par l'utilisateur sont appelés automatiquement.
Headers envoyés aux outils
{
"x-user-id": string; // ID de l'utilisateur actuel Devana (si disponible)"x-agent-id": string; // ID de l'agent actuel utilisé pour la réponse// Autres headers personnalisés ajoutés lors de la requête
}
Support de confirmation des tool calls
Le système prend en charge la confirmation d'exécution d'outils via un format spécial :
403 - Interdit (accès refusé ou limite d'utilisation atteinte)
404 - Non Trouvé (modèle ou conversation non trouvé)
500 - Erreur Interne du Serveur
Le système implémente une stratégie de retry avec backoff exponentiel pour les erreurs temporaires :
Maximum 3 tentatives par défaut
Délai initial de 500ms
Délai doublé à chaque nouvelle tentative
Format de Réponse d'Erreur
{
error: string; // Message d'erreur détaillé
}
Limitation de Débit
L'API inclut une limitation de débit basée sur l'utilisateur :
Les métriques utilisateur sont vérifiées avant le traitement des requêtes
Quand les limites sont atteintes, retourne le code status 403
Fonctionnalités Spéciales
Contexte de Conversation
Supporte la continuation des conversations existantes via conversation_id
Maintient l'historique complet des conversations et les pièces jointes
Suit automatiquement l'utilisation des tokens (prompt et réponse)
Calcule et stocke les tokens de contexte pour optimiser les coûts
Support des Fichiers
Accepte les IDs de fichiers dans la requête
Maintient les associations de fichiers avec les messages de conversation
Combine automatiquement les fichiers attachés à la conversation et à la requête actuelle
Configuration Agent/Modèle
Supporte les agents AI personnalisés et la configuration Devana AI par défaut
Paramètres d'identité et de comportement configurables par agent
Connectivité web optionnelle pour des réponses améliorées
Gestion des versions du chat par agent
Surveillance et Analytique
Suit les requêtes réseau détaillées
Enregistre le statut de vérification et le scoring précis
Supporte l'attribution des sources pour les réponses
Maintient des métriques détaillées d'utilisation des tokens
Fournit un système de debug en temps réel
Particularités
Mode Chappie disponible pour certains agents (vérification automatique)
Gestion automatique de la langue selon les préférences utilisateur
Support multi-modèles avec possibilité de spécifier le modèle client
Vérification automatique des droits d'accès aux agents
Gestion des statuts de conversation (PENDING, DONE, ERROR)
Paramètre asyncRagScore
Si true, la réponse est renvoyée immédiatement sans attendre le calcul du score RAG. Le score RAG sera calculé en arrière-plan. Les réponses n'incluront plus les sources, qui seront systématiquement un tableau vide ([]).
Exemples d'Utilisation
Conversation Simple
Requête
curl -X POST https://api.devana.ai/v1/chat/completions \
-H "Authorization: Bearer VOTRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "default-agent",
"messages": [
{
"role": "user",
"content": "Quelle est la capitale de la France?"
}
],
"temperature": 0.7
}'
Réponse
{"id":"msg_123abc","object":"chat.completion","created":1698152365,"model":"default-agent","conversation_id":"conv_456def","rag_score":0.95,"debug":{"tool_calls":null,"sources":null,"metadata":null},"choices":[{"index":0,"message":{"role":"assistant","content":"La capitale de la France est Paris.","tool_calls":null,"score":{"value":0.95}},"finish_reason":"stop","logprobs":null}],"usage":{"prompt_tokens":9,"completion_tokens":8,"total_tokens":17}}