> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/fr/bases/api.md).

# Comment utiliser Unsloth comme point de terminaison API

Vous pouvez exécuter **des LLM locaux** avec des outils comme [Claude Code](/docs/fr/bases/claude-code.md) et [Codex](/docs/fr/bases/codex.md) en reliant ces outils au **point de terminaison d’API compatible avec OpenAI d’Unsloth**. Cela vous permet d’exécuter des modèles comme [Qwen](/docs/fr/modeles/qwen3.6.md) et [Gemma](/docs/fr/modeles/gemma-4.md) localement pour le codage agentique. Unsloth propose également des fonctionnalités utiles telles que l’auto-réparation **appel d'outils**, **de code**et **recherche web**.

Unsloth facilite le déploiement d’un point de terminaison d’inférence API rapide qui fournit :

* [**Appel d’outils auto-réparateur**](/docs/fr/nouveau/studio/chat.md#auto-healing-tool-calling), ce qui aide à réduire de 50 % les appels d’outils cassés ou mal formés
* [**Exécution de code**](/docs/fr/nouveau/studio/chat.md#code-execution) prise en charge, permettant l’exécution de Bash et de Python pour des sorties de code plus précises.
* **Avancé** [**Recherche Web**](/docs/fr/nouveau/studio/chat.md#advanced-web-search) qui visite et lit réellement des pages web pour recueillir des informations approfondies.
* [**Inférence automatique** paramètres](/docs/fr/nouveau/studio/chat.md#auto-parameter-tuning) pour les modèles GGUF (temp, top-k, etc.)

{% columns %}
{% column %}
Les modèles chargés dans Unsloth (y compris les GGUF) sont exposés comme une **API authentifiée** via `llama-server`. Une longue clé API est générée pour des raisons de sécurité, comme le fait OpenAI.

Vos **modèles locaux** peuvent ensuite être utilisés directement dans votre agent IA, SDK ou client de chat préféré. Unsloth parle deux dialectes sur le même port. Les deux prennent en charge le streaming, l’appel d’outils (OpenAI `outils` / Anthropic `outils`), ainsi que des entrées visuelles :
{% endcolumn %}

{% column %}

<figure><img src="/files/1a2d152a014c5c542c774dac8c97d657a9f4124f" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

* **Compatible avec Anthropic `/v1/messages`**  pour Claude Code, OpenClaw, le SDK Anthropic et tout client qui attend l’API Messages.
* **Compatible avec OpenAI `/v1/chat/completions`** et **`/v1/responses`** pour le SDK OpenAI, OpenCode, Cursor, Continue, Cline, Open WebUI et tout outil compatible OpenAI.

### ⚡ Démarrage rapide

1. **Installez ou mettez à jour** [**Unsloth Studio**](/docs/fr/nouveau/studio.md)**.** Puis lancez Unsloth.
2. **Chargez un modèle.** Cliquez sur **Nouveau chat**, choisissez ou recherchez un modèle (GGUF) et attendez la fin du chargement.
3. **Créez une clé API.** Cliquez sur votre **Unsloth** avatar en bas à gauche → **Paramètres** → **API** → saisissez un nom de clé → **Créer**. Copiez la `sk-unsloth-…` valeur qui s’affiche. Unsloth ne l’affiche qu’une seule fois.
4. **Pointez votre client vers Unsloth.** Utilisez `http://localhost:PORT` comme URL de base et votre `sk-unsloth-…` clé pour l’authentification. Passez à la recette de votre outil ci-dessous.

### 🔑 Création d’une clé API

1. Ouvrez la barre latérale, cliquez sur votre **Unsloth** avatar en bas à gauche.
2. Allez dans **Paramètres** → **API** (globe :globe\_with\_meridians: icône).
3. Entrez un nom parlant (p. ex. `claude-code-macbook`). Définissez une expiration (facultatif)
4. Cliquez sur **Créer**.
5. **Copiez la clé.** Unsloth ne stocke qu’un hachage et vous ne pourrez plus la consulter.

<div data-with-frame="true"><figure><img src="/files/236f8680018f6e8f0517e6ead4329fe9f5efb49f" alt="" width="375"><figcaption></figcaption></figure></div>

Toutes les clés commencent par le `sk-unsloth-` préfixe. Révoquez une clé depuis cette même page à tout moment. Les requêtes effectuées avec une clé révoquée échoueront avec `401 Non autorisé`.

{% hint style="warning" %}
Traitez votre clé API comme un mot de passe. Toute personne disposant de la clé et d’un accès réseau à votre instance Unsloth peut envoyer des requêtes à votre modèle chargé.
{% endhint %}

### ⏳ Chargement du modèle

{% stepper %}
{% step %}

#### Sélectionner un modèle

Avant d’utiliser l’API, chargez un modèle depuis le **menu déroulant Sélectionner un modèle** dans le coin supérieur gauche de la page Chat.

<figure><img src="/files/20a3e3fe38cf2dfd454794201dd3cc499546d855" alt=""><figcaption></figcaption></figure>

Dans ce guide, nous utiliserons :

`unsloth/gemma-4-26B-A4B-it-GGUF` avec la `UD-Q4_K_XL` quantification recommandée.
{% endstep %}

{% step %}

#### Tester le modèle

Avant d’utiliser le client, envoyez un court message :

<div data-with-frame="true"><figure><img src="/files/55ba6f6b98ba57615a8791e0bec949b1a8cc9795" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Cela confirme que le modèle s’est chargé correctement et qu’il est prêt à répondre.
{% endhint %}
{% endstep %}

{% step %}

#### **Clé API Unsloth**

Dans Unsloth, ouvrez **Paramètres → API** pour afficher ou créer votre clé API.

<figure><img src="/files/4cfccdbce7d628cd17ae882bafd9d2a1c70743a3" alt=""><figcaption></figcaption></figure>

Traitez votre clé API comme un mot de passe et évitez de l’exposer dans des captures d’écran ou des dépôts.
{% endstep %}
{% endstepper %}

### <i class="fa-terminal">:terminal:</i> Commande de lancement Unsloth

1. **Installez ou mettez à jour Unsloth Studio.** Les versions antérieures n’exposent pas l’API externe. Voir Installation.
2. **Chargez un modèle GGUF.** charger un modèle GGUF en utilisant la commande de lancement. Cela chargera également l’interface sur le port par défaut. L’URL du point de terminaison et la clé API seront affichées dans la console, prêtes à être utilisées avec le client de votre choix.

   ```bash
   unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
   ```

#### Chargement d’un modèle depuis la CLI

Vous pouvez charger un modèle et faire créer automatiquement une clé API pour vous en utilisant le `unsloth` outil CLI. Lorsque le modèle a fini de se charger, l’URL du point de terminaison et la clé API sont affichées dans votre console. Copiez-les dans votre client de choix et vous êtes prêt.

#### Avant de commencer

Assurez-vous d’utiliser une version récente d’Unsloth Studio, car les versions antérieures n’exposent pas l’API externe. Voir [installation](/docs/fr/nouveau/studio/install.md).

#### La méthode rapide

Ouvrez un terminal et chargez un modèle GGUF :

```bash
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
```

Cela démarre le serveur sur le port par défaut, charge l’interface et affiche l’URL du point de terminaison ainsi que votre clé API.

#### Comment fonctionne le nom du modèle

Vous pouvez pointer vers un modèle de plusieurs façons. Choisissez celle qui vous convient le mieux :

```bash
# Combiné : dépôt et variante de quantification dans une seule chaîne (recommandé — le plus court)
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL

# Séparé : dépôt et variante comme deux options (ancienne méthode, fonctionne toujours)
unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF --gguf-variant UD-Q4_K_XL

# Utilisation de -hf / --hf-repo (correspond à l’orthographe de llama.cpp, pratique si vous venez de là)
unsloth run -hf unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL
```

### Ajuster l’exécution (facultatif)

Vous n’avez besoin d’aucun de tout cela pour un chargement de base, mais `unsloth run` prend en charge de nombreux drapeaux d’exécution de llama-server pour personnaliser les performances, l’utilisation mémoire, la longueur de contexte, le comportement de génération, le réseau et l’accès aux outils.

Les drapeaux supplémentaires sont transmis directement au serveur d’inférence sous-jacent, et vos valeurs remplacent les paramètres par défaut d’Unsloth.

#### Ajuster le comportement de génération

Les paramètres d’échantillonnage contrôlent à quel point le modèle est créatif, concentré ou déterministe pendant la génération.

```bash
# Réduire l’aléa et améliorer la reproductibilité
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --temp 0.6 \\
  --seed 42
```

Des valeurs de température plus faibles produisent généralement des sorties plus stables, tandis que les paramètres top-p, top-k, min-p et de pénalité de répétition contrôlent davantage la sélection des tokens et la répétition.

```bash
# Ajuster la sélection des tokens et le comportement de répétition
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --top-p 0.95 \\
  --top-k 20 \\
  --min-p 0.05 \\
  --repeat-penalty 1.1
```

#### Augmenter la longueur du contexte et les threads CPU

Utile si vous travaillez sur de grands projets, de longues conversations ou des workflows agents nécessitant plus de mémoire.

```bash
# Utilisez une fenêtre de contexte plus grande et davantage de threads CPU
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  -c 131072 \\
  --threads 32
```

#### Exposer l’API sur votre réseau local

Par défaut, Unsloth s’exécute uniquement en local sur votre machine. Vous pouvez exposer l’API à d’autres appareils de votre réseau en liant à `0.0.0.0`.

```bash
# Autoriser les appareils du réseau local à se connecter
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  -H 0.0.0.0 \\
  -p 8888
```

#### Contrôler le comportement de raisonnement

Certains modèles capables de raisonnement prennent en charge des options supplémentaires pour contrôler la réflexion et le raisonnement.

```bash
# Désactiver la sortie de raisonnement / réflexion
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --reasoning off
```

```bash
# Activer le mode de raisonnement
unsloth run \\
  --model unsloth/Qwen3-1.7B-GGUF \\
  --reasoning on
```

La prise en charge du raisonnement dépend du modèle et des capacités du backend.

#### Activer ou désactiver les outils côté serveur

Contrôlez si des outils comme la recherche Web et l’exécution de code sont exposés par le serveur d’inférence.

```bash
# Activer explicitement les outils
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  --enable-tools
```

```bash
# Désactiver explicitement les outils
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \\
  --disable-tools
```

Unsloth prend en charge la plupart des drapeaux d’exécution de llama-server, notamment le dimensionnement du contexte, les couches GPU, le multithreading, l’échantillonnage, le réseau et la configuration des outils.

Voir la [llama-server](https://github.com/ggml-org/llama.cpp/tree/master/tools/server) documentation pour la liste complète des drapeaux d’exécution pris en charge.

#### **Politique des outils côté serveur**

`unsloth run` contrôle si les outils côté serveur (recherche Web, exécution de code, etc.) sont exposés par le serveur d’inférence. Les valeurs par défaut dépendent de l’adresse de liaison :

* **`127.0.0.1` (localhost)** — outils **sur** par défaut. Seule votre machine peut atteindre le serveur.
* **`0.0.0.0` ou toute adresse non loopback** — outils **désactivés** par défaut. Une clé API divulguée sur un serveur exposé au réseau signifie une exécution arbitraire de code sur l’hôte.

**Options :**

* `--enable-tools` / `--disable-tools` — forcer l’activation ou la désactivation. Activé `0.0.0.0`, `--enable-tools` affiche une invite de sécurité y/N.
* `--yes` / `-y` — ignorer l’invite (pour l’automatisation).

La politique résolue est une surcouche stricte au niveau du processus — les requêtes individuelles ne peuvent pas la contourner via `enable_tools=true` dans le corps de la requête.

<div data-with-frame="true"><figure><img src="/files/41bc504879e0efd25007266daf9249a750d5f1fe" alt=""><figcaption></figcaption></figure></div>

### 🌐 **Points de terminaison**

Unsloth expose ces points de terminaison sur le port sur lequel il a démarré (généralement `http://localhost:8000` ou `http://localhost:8888`):

| Point de terminaison        | Compatible avec               | À utiliser depuis                                                         |
| --------------------------- | ----------------------------- | ------------------------------------------------------------------------- |
| `POST /v1/messages`         | API Messages d’Anthropic      | Claude Code, le SDK Anthropic, OpenClaw, tout client compatible Anthropic |
| `POST /v1/chat/completions` | API Chat Completions d’OpenAI | SDK OpenAI, opencode, Cursor, Continue, Cline, Open WebUI, curl, etc.     |
| `GET /v1/models`            | liste des modèles OpenAI      | Liste les modèles actuellement chargés dans Unsloth                       |

Authentifiez-vous avec un `Authorization: Bearer sk-unsloth-…` en-tête sur chaque requête.

{% hint style="info" %}
Vous n’avez pas besoin d’exécuter des serveurs différents pour les deux formats. Unsloth gère les deux sur le même port.
{% endhint %}

### 🖇️ Connexion de votre client

Unsloth vous permet d’exécuter des LLM locaux via la plupart des frameworks, notamment [Claude Code](/docs/fr/bases/claude-code.md), [Codex](/docs/fr/bases/codex.md), [OpenClaw](/docs/fr/integrations/openclaw.md), [OpenCode](/docs/fr/integrations/opencode.md) et bien d’autres. Cliquez sur les outils spécifiques ci-dessous pour obtenir un guide :

{% columns %}
{% column width="50%" %}
{% content-ref url="/pages/6c4a155ae35df476974e25b66af4db620dffaf2c" %}
[Claude Code](/docs/fr/bases/claude-code.md)
{% endcontent-ref %}

{% content-ref url="/pages/0bb2f0a13e244fd2f0ea640c96c4e297bf83db93" %}
[OpenAI Codex](/docs/fr/bases/codex.md)
{% endcontent-ref %}

{% content-ref url="/pages/ecc958b339a16f14a987b979d96c3f7d2c0086d1" %}
[Curl & HTTP](/docs/fr/integrations/connecter-curl-et-http-a-unsloth.md)
{% endcontent-ref %}
{% endcolumn %}

{% column width="50%" %}
{% content-ref url="/pages/fc0726cf8f72aecd0706033ae732e8e31cb48fcf" %}
[OpenClaw](/docs/fr/integrations/openclaw.md)
{% endcontent-ref %}

{% content-ref url="/pages/5ed7fe5ad328b9ea2064f629be46409a5616379c" %}
[OpenCode](/docs/fr/integrations/opencode.md)
{% endcontent-ref %}

{% content-ref url="/pages/46b648652a387a143566a8cd8b635a0b50c00204" %}
[Python SDK](/docs/fr/integrations/connecter-le-sdk-python-a-unsloth.md)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

### 🧰 Appel d’outils

Les deux points de terminaison prennent en charge l’appel de fonctions / d’outils dans leur format natif, ainsi qu’un raccourci spécifique à Unsloth pour les outils intégrés d’Unsloth.

**Outils au style OpenAI :** envoyer `outils` et `tool_choice` en `/v1/chat/completions` exactement comme avec OpenAI. Claude Code (via `/v1/messages`), opencode, Cursor, Continue et Cline fonctionnent tous immédiatement.

**Outils au style Anthropic :** envoyer `outils` (avec `input_schema`) et `tool_choice` en `/v1/messages` exactement comme avec Claude.

Outils côté serveur Unsloth : Unsloth peut exécuter Python, la recherche Web et Bash *côté serveur* et diffuser les résultats sous forme de `tool_result` événements. Activez cette fonctionnalité en ajoutant ces champs supplémentaires à l’un ou l’autre point de terminaison :

```json
{
  "messages": [{"role": "user", "content": "Combien font 123 * 456 ? Utilisez Python."}],
  "stream": true,
  "enable_tools": true,
  "enabled_tools": ["python", "web_search","terminal"],
  "session_id": "my-session"
}
```

Le modèle voit la sortie de chaque outil à son tour suivant. Pour une couverture plus approfondie (schémas, événements en streaming, chaînage), voir .

{% hint style="info" %}
Si vous utilisez le `/v1/messages` point de terminaison, `tool_choice` correspond proprement : Anthropic `auto` → OpenAI `auto`, Anthropic `n’importe quel` → OpenAI `obligatoire`, Anthropic `{type: "tool", name: "x"}` → OpenAI `{type: "function", function: {name: "x"}}`, Anthropic `aucun` → OpenAI `aucun`.
{% endhint %}

### ❔ Dépannage

**`401 Non autorisé`** : soit le `Authorization` en-tête est manquant ou la clé est incorrecte. Les clés doivent être transmises sous la forme `Authorization: Bearer sk-unsloth-…`. Si vous avez perdu la clé, créez-en une nouvelle depuis **Paramètres → API.** Unsloth n’affiche pas les anciennes clés après leur création.

**`Connexion perdue avec le serveur de modèle`** : Unsloth n’a pas pu atteindre le serveur llama.cpp sous-jacent. En général, le modèle a fini de se charger mais a planté, ou l’onglet du modèle a été fermé dans Unsloth. Rechargez le modèle depuis **Nouveau chat** et réessayez.

**Claude Code affiche le modèle Anthropic par défaut, pas mon modèle local** : vérifiez que les trois variables d’environnement sont exportées dans le **même** shell où vous exécutez `claude`:

```bash
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
echo $ANTHROPIC_MODEL
```

Puis exécutez `/model` dans Claude Code pour confirmer. Sous Windows PowerShell, utilisez `$env:ANTHROPIC_BASE_URL` etc.

**`stream: true` renvoie un seul objet JSON au lieu de SSE** : assurez-vous d’utiliser le bon chemin (`/v1/messages` ou `/v1/chat/completions`) et que votre client HTTP consomme réellement la réponse en flux, sans la mettre en tampon.

**Je ne trouve pas le nom du modèle à ajouter à opencode (ou OpenClaw / tout autre client)** : demandez-le directement à Unsloth. `GET /v1/models` renvoie l’ID exact du modèle que vous devez renseigner dans le champ "Model ID" du client :

```bash
curl http://localhost:8888/v1/models \\
  -H "Authorization: Bearer sk-unsloth-xxxxxxxxxxxx"
```

Vous obtiendrez un objet JSON du type `{"data": [{"id": "gemma-4-26B-A4B-it-GGUF", ...}]}`. Copiez la `id` valeur, c’est la chaîne que le **Model ID** champ (colonne de gauche) et que le `models[].id` attendent. Le nom affiché à droite est celui que vous voulez montrer aux utilisateurs.

**Les appels d’outils ne sont pas exécutés** : Le modèle doit prendre en charge l’appel d’outils pour les outils côté client (`outils` / `tool_choice`). Pour les outils intégrés d’Unsloth, n’oubliez pas de définir `enable_tools: true` **et** répertorier ceux que vous voulez dans `enabled_tools` (p. ex. `["python", "web_search"]`).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/fr/bases/api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
