Documentation de l'API Lexamp
Apercu
L'API Lexamp fournit un acces programmatique a nos services d'IA juridique. Construisez des applications juridiques puissantes avec notre API compatible OpenAI.
URL de base
https://lexamp.net/
Authentification
Toutes les requetes API necessitent une authentification a l'aide d'une cle API. Incluez votre cle API dans l'en-tete Authorization :
Authorization: Bearer YOUR_API_KEY
Vous pouvez creer et gerer vos cles API depuis votre Tableau de bord developpeur.
Bonnes pratiques de securite
- N'exposez jamais les cles API dans le code cote client ou les depots publics
- Utilisez des variables d'environnement pour stocker les cles
- Effectuez une rotation reguliere des cles et revoquez celles qui ne sont pas utilisees
- Utilisez des cles separees pour le developpement et la production
Points de terminaison
Liste des modeles
GET /v1/models
Retourne la liste des modeles disponibles.
Reponse :
{
"object": "list",
"data": [
{
"id": "legal-rag",
"object": "model",
"created": 1700000000,
"owned_by": "lexamp"
}
]
}
Completions de chat
POST /v1/chat/completions
Generez des reponses conversationnelles avec les modeles d'IA juridique.
Parametres de requete :
| Parametre | Type | Requis | Description |
|---|---|---|---|
| model | string | Oui | ID du modele (utiliser "legal-rag") |
| messages | array | Oui | Tableau d'objets de messages |
| temperature | number | Non | Temperature d'echantillonnage (0-2, defaut : 1.0) |
| top_p | number | Non | Echantillonnage nucleus (0-1, defaut : 1.0) |
| n | number | Non | Nombre de completions (1-128, defaut : 1) |
| stream | boolean | Non | Activer le streaming (defaut : false) |
| stop | string/array | Non | Sequences d'arret |
| max_tokens | number | Non | Nombre maximum de tokens a generer |
| presence_penalty | number | Non | Penalite de presence (-2 a 2, defaut : 0) |
| frequency_penalty | number | Non | Penalite de frequence (-2 a 2, defaut : 0) |
| user | string | Non | Identifiant utilisateur pour la gestion des sessions |
Objet message :
| Champ | Type | Requis | Description |
|---|---|---|---|
| role | string | Oui | Un parmi : "system", "user", "assistant", "tool" |
| content | string | Non | Contenu du message |
| name | string | Non | Identifiant de nom optionnel |
Exemple de requete :
{
"model": "legal-rag",
"messages": [
{"role": "system", "content": "Vous etes un assistant juridique professionnel."},
{"role": "user", "content": "Qu'est-ce qu'un accord de confidentialite ?"}
],
"temperature": 0.7,
"max_tokens": 1000
}
Reponse :
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1700000000,
"model": "legal-rag",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Un accord de confidentialite (NDA) est..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}
Reinitialiser la session
POST /v1/sessions/{session_id}/reset
Reinitialise une session de conversation pour recommencer.
Parametres de chemin :
| Parametre | Type | Description |
|---|---|---|
| session_id | string | L'identifiant de session a reinitialiser |
Reponse :
{
"status": "success",
"message": "Session abc123 reset"
}
Verification de sante
GET /health
Verifie l'etat de sante du service API.
Reponse :
{
"status": "healthy",
"timestamp": "2024-01-01T12:00:00Z"
}
Streaming
Lorsque stream: true est defini, l'API retourne des evenements Server-Sent (SSE). Chaque evenement contient une partie de la reponse :
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","created":1700000000,"model":"legal-rag","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","created":1700000000,"model":"legal-rag","choices":[{"index":0,"delta":{"content":"Un"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","created":1700000000,"model":"legal-rag","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
Tarification
| Element | Prix |
|---|---|
| Tokens d'entree | 8 $ / million de tokens |
| Tokens de sortie | 25 $ / million de tokens |
| Recherche base juridique | 0,005 $ / requete |
Limites de debit
Les limites de debit varient selon le niveau d'abonnement :
| Niveau | Requetes/min | Utilisation |
|---|---|---|
| Gratuit | 10 | 100 requetes/mois |
| Starter | 60 | Paiement a l'usage |
| Pro | 300 | Paiement a l'usage |
| Enterprise | Personnalise | Paiement a l'usage |
Gestion des erreurs
En cas d'erreur, l'API renvoie un objet JSON avec un code d'erreur et un message :
{
"error": {
"code": "rate_limit_exceeded",
"message": "Vous avez depasse la limite de debit.",
"type": "rate_limit_exceeded"
}
}
Codes d'etat HTTP
| Code | Description |
|---|---|
| 200 | Succes |
| 400 | Requete incorrecte - Parametres invalides |
| 401 | Non autorise - Cle API invalide |
| 402 | Paiement requis - Solde insuffisant |
| 403 | Interdit - Cle inactive, expiree ou IP non autorisee |
| 429 | Limite de debit - Trop de requetes ou limite quotidienne/mensuelle depassee |
| 500 | Erreur serveur |
Codes d'erreur
| Code | Description |
|---|---|
| INVALID_API_KEY | La cle API est invalide |
| INVALID_KEY_FORMAT | Le format de la cle API est incorrect |
| AUTH_FAILED | Echec de l'authentification |
| KEY_INACTIVE | La cle API a ete desactivee |
| KEY_EXPIRED | La cle API a expire |
| ACCOUNT_INACTIVE | Le compte n'est pas actif |
| PERMISSION_DENIED | La cle API manque des permissions requises |
| IP_NOT_ALLOWED | L'IP de la requete n'est pas dans la liste autorisee |
| INSUFFICIENT_BALANCE | Le solde du compte est insuffisant |
| RATE_LIMIT_EXCEEDED | Limite de debit par minute depassee |
| DAILY_LIMIT_EXCEEDED | Limite quotidienne de requetes depassee |
| MONTHLY_LIMIT_EXCEEDED | Limite mensuelle de requetes depassee |
Support
Pour toute question, veuillez contacter notre equipe de support ou visiter le Tableau de bord developpeur.