Skip to content

Latest commit

 

History

History
332 lines (272 loc) · 5.78 KB

french.md

File metadata and controls

332 lines (272 loc) · 5.78 KB

Documentation de l'API REST - RKLLama

Base URL

http://localhost:8080/

Mémo rapide

Commandes principales :

  • Lister les modèles disponibles : GET /models
  • Charger un modèle : POST /load_model
  • Décharger le modèle : POST /unload_model
  • Obtenir le modèle chargé : GET /current_model
  • Générer une sortie : POST /generate
  • Télécharger un modèle depuis Hugging Face : POST /pull
  • Supprimer un modèle : POST /rm

Endpoints de l'API

1. GET /models

Description

Retourne la liste des modèles disponibles dans le répertoire ~/RKLLAMA/models.

Requête

GET /models

Réponse

  • Code 200 : Liste des modèles disponibles.

    {
      "models": [
        "model1.rkllm",
        "model2.rkllm",
        "model3.rkllm"
      ]
    }
  • Code 500 : Répertoire introuvable.

    {
      "error": "Le dossier ~/RKLLAMA/models est introuvable."
    }

Exemple

curl -X GET http://localhost:8080/models

2. POST /load_model

Description

Charge un modèle spécifique dans la mémoire.

Requête

POST /load_model
Content-Type: application/json
Paramètres
{
  "model_name": "nom_du_modèle.rkllm"
}

Réponse

  • Code 200 : Modèle chargé avec succès.

    {
      "message": "Modèle <model_name> chargé avec succès."
    }
  • Code 400 : Erreur liée à un modèle déjà chargé ou à des paramètres manquants.

    {
      "error": "Un modèle est déjà chargé. Veuillez d'abord le décharger."
    }
  • Code 400 : Modèle introuvable.

    {
      "error": "Modèle <model_name> introuvable dans le dossier /models."
    }

Exemple

curl -X POST http://localhost:8080/load_model \
-H "Content-Type: application/json" \
-d '{"model_name": "model1.rkllm"}'

3. POST /unload_model

Description

Décharge le modèle actuellement chargé.

Requête

POST /unload_model

Réponse

  • Code 200 : Succès.

    {
      "message": "Modèle déchargé avec succès."
    }
  • Code 400 : Aucun modèle n'est chargé.

    {
      "error": "Aucun modèle n'est actuellement chargé."
    }

Exemple

curl -X POST http://localhost:8080/unload_model

4. GET /current_model

Description

Retourne le nom du modèle actuellement chargé.

Requête

GET /current_model

Réponse

  • Code 200 : Succès.

    {
      "model_name": "nom_du_modèle"
    }
  • Code 404 : Aucun modèle n'est chargé.

    {
      "error": "Aucun modèle n'est actuellement chargé."
    }

Exemple

curl -X GET http://localhost:8080/current_model

5. POST /generate

Description

Génère une réponse en utilisant le modèle chargé.

Requête

POST /generate
Content-Type: application/json
Paramètres
{
  "messages": "prompt ou chat_template",
  "stream": true
}

Réponse

  • Code 200 : Réponse générée.

    {
      "id": "rkllm_chat",
      "object": "rkllm_chat",
      "created": null,
      "choices": [{
        "role": "assistant",
        "content": "sortie_rkllama",
        "finish_reason": "stop"
      }],
      "usage": {
        "prompt_tokens": null,
        "completion_tokens": null,
        "total_tokens": null
      }
    }
  • Code 400 : Aucun modèle n'est chargé.

    {
      "error": "Aucun modèle n'est actuellement chargé."
    }

Exemple

curl -X POST http://localhost:8080/generate \
-H "Content-Type: application/json" \
-d '{"messages": "Bonjour, comment vas-tu ?", "stream": false}'

6. POST /pull

Description

Télécharge et installe un modèle depuis Hugging Face.

Requête

POST /pull
Content-Type: application/json
Paramètres
{
  "model": "hf/nom_utilisateur/id_dépôt/fichier.rkllm"
}

Réponse

  • Code 200 : Téléchargement en cours.
Téléchargement <fichier> (<taille> MB)...
<progression>%
  • Code 400 : Erreur lors du téléchargement.
Erreur pendant le téléchargement : <erreur>

Exemple

curl -X POST http://localhost:8080/pull \
-H "Content-Type: application/json" \
-d '{"model": "hf/username/repo/file.rkllm"}'

7. DELETE /rm

Description

Supprime un modèle spécifique.

Requête

POST /rm
Content-Type: application/json
Paramètres
{
  "model": "nom_du_modèle.rkllm"
}

Réponse

  • Code 200 : Succès.

    {
      "message": "Le modèle a été supprimé avec succès."
    }
  • Code 404 : Modèle introuvable.

    {
      "error": "Le modèle : {model} est introuvable."
    }

Exemple

curl -X DELETE http://localhost:8080/rm \
-H "Content-Type: application/json" \
-d '{"model": "model1.rkllm"}'

8. GET /

Description

Affiche un message de bienvenue et un lien vers le projet GitHub.

Réponse

  • Code 200 :
    {
      "message": "Bienvenue sur RK-LLama !",
      "github": "https://github.com/notpunhnox/rkllama"
    }

Exemple

curl -X GET http://localhost:8080/

Gestion des erreurs

  • 400 : Erreur liée à une mauvaise requête.
  • 404 : Ressource introuvable.
  • 500 : Erreur interne au serveur.

Conseils pratiques

  • Validation des paramètres : Vérifiez toujours les noms des modèles et les chemins des fichiers.
  • Dépannage : Consultez les journaux du serveur pour plus de détails sur les erreurs internes.