LexAmpLexAmp

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 :

ParametreTypeRequisDescription
modelstringOuiID du modele (utiliser "legal-rag")
messagesarrayOuiTableau d'objets de messages
temperaturenumberNonTemperature d'echantillonnage (0-2, defaut : 1.0)
top_pnumberNonEchantillonnage nucleus (0-1, defaut : 1.0)
nnumberNonNombre de completions (1-128, defaut : 1)
streambooleanNonActiver le streaming (defaut : false)
stopstring/arrayNonSequences d'arret
max_tokensnumberNonNombre maximum de tokens a generer
presence_penaltynumberNonPenalite de presence (-2 a 2, defaut : 0)
frequency_penaltynumberNonPenalite de frequence (-2 a 2, defaut : 0)
userstringNonIdentifiant utilisateur pour la gestion des sessions

Objet message :

ChampTypeRequisDescription
rolestringOuiUn parmi : "system", "user", "assistant", "tool"
contentstringNonContenu du message
namestringNonIdentifiant 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 :

ParametreTypeDescription
session_idstringL'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

ElementPrix
Tokens d'entree8 $ / million de tokens
Tokens de sortie25 $ / million de tokens
Recherche base juridique0,005 $ / requete

Limites de debit

Les limites de debit varient selon le niveau d'abonnement :

NiveauRequetes/minUtilisation
Gratuit10100 requetes/mois
Starter60Paiement a l'usage
Pro300Paiement a l'usage
EnterprisePersonnalisePaiement 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

CodeDescription
200Succes
400Requete incorrecte - Parametres invalides
401Non autorise - Cle API invalide
402Paiement requis - Solde insuffisant
403Interdit - Cle inactive, expiree ou IP non autorisee
429Limite de debit - Trop de requetes ou limite quotidienne/mensuelle depassee
500Erreur serveur

Codes d'erreur

CodeDescription
INVALID_API_KEYLa cle API est invalide
INVALID_KEY_FORMATLe format de la cle API est incorrect
AUTH_FAILEDEchec de l'authentification
KEY_INACTIVELa cle API a ete desactivee
KEY_EXPIREDLa cle API a expire
ACCOUNT_INACTIVELe compte n'est pas actif
PERMISSION_DENIEDLa cle API manque des permissions requises
IP_NOT_ALLOWEDL'IP de la requete n'est pas dans la liste autorisee
INSUFFICIENT_BALANCELe solde du compte est insuffisant
RATE_LIMIT_EXCEEDEDLimite de debit par minute depassee
DAILY_LIMIT_EXCEEDEDLimite quotidienne de requetes depassee
MONTHLY_LIMIT_EXCEEDEDLimite mensuelle de requetes depassee

Support

Pour toute question, veuillez contacter notre equipe de support ou visiter le Tableau de bord developpeur.