> 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/notions-de-base/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/notions-de-base/claude-code.md) et [Codex](/docs/fr/notions-de-base/codex.md) en connectant ces outils au **point de terminaison d’API compatible avec OpenAI**. 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 aussi des fonctionnalités utiles comme l’auto-réparation de **l’appel d’outils**, **l’exécution de code**, et **la 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 les pages web pour recueillir des informations détaillées.
* [**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 d’IA, votre SDK ou votre 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`), et les 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, SillyTavern 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 **Nouvelle conversation**, choisissez ou recherchez un modèle (GGUF), puis 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 apparaît. 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 à **Paramètres** → **API** (globe :globe\_with\_meridians: icône).
3. Entrez un nom convivial (par 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 `préfixe. Révoquez une clé depuis la même page à tout moment. Les requêtes effectuées avec une clé révoquée échoueront avec` préfixe. Révoquez une clé depuis la même page à tout moment. Les requêtes effectuées avec une clé révoquée échoueront avec `401 Unauthorized`.

{% 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élection du modèle

Avant d’utiliser l’API, chargez un modèle depuis le **Sélectionner un modèle** menu déroulant en haut à 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 quantification `UD-Q4_K_XL` 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 a été chargé correctement et qu’il est prêt à répondre.
{% endhint %}
{% endstep %}

{% step %}

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

Dans Studio, ouvrez **Paramètres → API** pour voir 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 d’exécution 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.** chargez un modèle GGUF à l’aide de la commande d’exécution. 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 le CLI

Vous pouvez charger un modèle et faire créer automatiquement une clé API pour vous à l’aide de l’outil `unsloth` CLI. Une fois le modèle chargé, l’URL du point de terminaison et la clé API sont affichées dans votre console. Copiez-les dans le client de votre 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 [l’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 et 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 semble la plus simple :

```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 sous forme de deux options (l’ancienne méthode, qui 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 de rien de tout cela pour un chargement basique, mais `unsloth run` prend en charge de nombreuses options d’exécution de llama-server pour personnaliser les performances, l’utilisation de la mémoire, la longueur du contexte, le comportement de génération, le réseau et l’accès aux outils.

Les options supplémentaires sont transmises directement au serveur d’inférence sous-jacent, et vos valeurs remplacent les paramètres par défaut de Studio.

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

Les paramètres d’échantillonnage contrôlent à quel point le modèle est créatif, ciblé 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 jetons et les répétitions.

```bash
# Ajuster la sélection des jetons 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 gros projets, de longues discussions ou des workflows d’agents qui nécessitent plus de mémoire.

```bash
# Utiliser 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 ne s’exécute que localement sur votre machine. Vous pouvez exposer l’API à d’autres appareils de votre réseau en vous 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 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 options d’exécution de llama-server, notamment la taille du contexte, les couches GPU, le threading, 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 options d’exécution prises 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 **activés** 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 l’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 surcharge 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**

Studio 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, SDK Anthropic, OpenClaw, tout client compatible Anthropic |
| `POST /v1/chat/completions` | API de complétion de chat 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 à chaque requête.

{% hint style="info" %}
Vous n’avez pas besoin d’exécuter des serveurs différents pour les deux formats. Studio 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/notions-de-base/claude-code.md), [Codex](/docs/fr/notions-de-base/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 un guide :

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

{% content-ref url="/pages/0bb2f0a13e244fd2f0ea640c96c4e297bf83db93" %}
[OpenAI Codex](/docs/fr/notions-de-base/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 de Studio.

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

**Outils de style Anthropic :** envoyez `outils` (avec `input_schema`) et `tool_choice` à `/v1/messages` exactement comme avec Claude.

**Outils côté serveur de Studio :** Studio peut exécuter Python, la recherche web et bash *côté serveur* et renvoyer les résultats en streaming sous forme d’ `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 de streaming, chaînage), voir .

{% hint style="info" %}
Si vous utilisez le `/v1/messages` point de terminaison, `tool_choice` se traduit proprement : Anthropic `auto` → OpenAI `auto`, Anthropic `tout` → OpenAI `requis`, Anthropic `{type: "tool", name: "x"}` → OpenAI `{type: "function", function: {name: "x"}}`, Anthropic `aucun` → OpenAI `aucun`.
{% endhint %}

### ❔ Dépannage

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

**`Connexion perdue avec le serveur de modèles`**  : Studio n’a pas pu atteindre le serveur llama.cpp sous-jacent. En général, le modèle a fini de charger mais a planté, ou l’onglet du modèle a été fermé dans Studio. Rechargez le modèle depuis **Nouvelle conversation** 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 dans lequel 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 bloc JSON au lieu de SSE**  : assurez-vous d’appeler le bon chemin (`/v1/messages` ou `/v1/chat/completions`) et que votre client HTTP consomme bien la réponse en streaming, et ne la met pas en mémoire tampon.

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

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

Vous obtiendrez une charge utile JSON de la forme `{"data": [{"id": "gemma-4-26B-A4B-it-GGUF", ...}]}`. Copiez la `id` value, c’est la chaîne que le **Model ID** champ (colonne de gauche) d’opencode et le `models[].id` attendent. Le nom affiché à droite est ce 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 de Studio, pensez à définir `enable_tools: true` **et** et listez ceux que vous voulez dans `enabled_tools` (par ex. `["python", "recherche_web"]`).


---

# 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:

```
GET https://unsloth.ai/docs/fr/notions-de-base/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
