> 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/inference-and-deployment/lm-studio.md).

# Déployer des modèles vers LM Studio

Enregistrer des modèles en GGUF afin de pouvoir les exécuter et les déployer vers LM Studio

Vous pouvez exécuter et déployer votre LLM affiné directement dans LM Studio. [LM Studio](https://lmstudio.ai/) permet d’exécuter et de déployer facilement des **GGUF** modèles (format llama.cpp).

Vous pouvez utiliser notre [notebook LM Studio](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/FunctionGemma_\(270M\)-LMStudio.ipynb) ou suivez les instructions ci-dessous :

1. **Exportez votre modèle affiné avec Unsloth vers `.gguf`**
2. **Importez / téléchargez le GGUF dans LM Studio**
3. **Chargez-le dans Chat** (ou exécutez-le derrière une API locale compatible OpenAI)

<div><figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FUZEwmNLcs5Oc7bIT7iXV%2Fprefinetune-unsloth.png?alt=media&amp;token=ceb701d3-1f32-406e-a5be-2a7bde4cb4b6" alt="" width="375"><figcaption><p>Avant l’affinage dans LM Studio</p></figcaption></figure> <figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FvLEmVH22LQ4hjAA3SGIV%2Fpostfinetune-unsloth.png?alt=media&amp;token=5a473857-6700-4f0a-89c6-0c72c6b507c4" alt="" width="375"><figcaption><p>Après l’affinage dans LM Studio</p></figcaption></figure></div>

### 1) Exporter vers GGUF (depuis Unsloth)

Si vous avez déjà exporté un `.gguf`, passez à **l’importation dans LM Studio**.

```python
# Enregistrer localement (crée des artefacts GGUF dans le dossier)
model.save_pretrained_gguf("my_model_gguf", tokenizer, quantization_method = "q4_k_m")
# model.save_pretrained_gguf("my_model_gguf", tokenizer, quantization_method = "q8_0")
# model.save_pretrained_gguf("my_model_gguf", tokenizer, quantization_method = "f16")

# Ou envoyer le GGUF vers le Hub Hugging Face
model.push_to_hub_gguf("hf_username/my_model_gguf", tokenizer, quantization_method = "q4_k_m")
```

{% hint style="info" %}
`q4_k_m` est généralement la valeur par défaut pour les exécutions locales.

`q8_0` est optimal pour une qualité proche de la pleine précision.

`f16` est le plus volumineux / le plus lent, mais conserve la précision d’origine non quantifiée.
{% endhint %}

### 2) Importer le GGUF dans LM Studio

{% tabs %}
{% tab title="Importation CLI (lms import)" %}
LM Studio fournit une CLI appelée `lms` qui peut importer un fichier local `.gguf` dans le dossier des modèles de LM Studio.

**Importer un fichier GGUF :**

```bash
lms import /path/to/model.gguf
```

**Conserver le fichier d’origine (copier au lieu de déplacer) :**

```bash
lms import /path/to/model.gguf --copy
```

<details>

<summary><strong>Cliquez pour accéder à des paramètres privés plus personnalisables</strong></summary>

**Conserver le modèle à son emplacement (lien symbolique) :**

Cela est utile pour les grands modèles stockés sur un disque dédié.

```bash
lms import /path/to/model.gguf --symbolic-link
```

**Ignorer les invites et choisir vous-même l’espace de noms cible :**

```bash
lms import /path/to/model.gguf --user-repo my-user/my-finetuned-models
```

**Exécution à blanc (affiche ce qui va se passer) :**

```bash
lms import /path/to/model.gguf --dry-run
```

</details>

Après l’importation, le modèle devrait apparaître dans LM Studio sous **Mes modèles**.

<figure><img src="https://550366147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FqAgsPwtQv6sSLdRJi6vp%2Flms-modeldirectory-fxngemma.png?alt=media&amp;token=ea11eaed-5684-4a0d-91fc-d540e703a54c" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Depuis Hugging Face" %}
Si vous avez envoyé votre dépôt GGUF sur Hugging Face, vous pouvez le télécharger directement depuis LM Studio.

**Option A : utiliser le téléchargeur intégré de LM Studio**

1. Ouvrez LM Studio
2. Accédez à l’onglet **Découvrir** onglet
3. Recherchez `hf_username/repo_name` (ou collez l’URL Hugging Face)
4. Téléchargez la quantification souhaitée (par ex. `Q4_K_M`)

**Option B : utiliser le téléchargeur CLI**

```bash
# Télécharger depuis HF par nom de dépôt
lms get hf_username/my_model_gguf

# Choisir une quantification avec @
lms get hf_username/my_model_gguf@Q4_K_M
```

{% endtab %}

{% tab title="Importation manuelle (structure des dossiers)" %}
Si vous ne souhaitez pas utiliser la CLI, vous pouvez placer le fichier `.gguf` dans la structure de répertoires de modèles attendue par LM Studio.

LM Studio attend une structure de modèles comme celle-ci :

```
~/.lmstudio/models/
└── éditeur/
    └── modèle/
        └── fichier-modèle.gguf
```

Exemple :

```
~/.lmstudio/models/
└── mon-nom/
    └── mon-affinage/
        └── mon-affinage-Q4_K_M.gguf
```

Ouvrez ensuite LM Studio et vérifiez **Mes modèles**.

**Conseil :** Vous pouvez gérer / vérifier votre répertoire de modèles depuis l’onglet **Mes modèles** dans LM Studio.
{% endtab %}
{% endtabs %}

### 3) Charger et discuter dans LM Studio

1. Ouvrez LM Studio → **Chat**
2. Ouvrez le **chargeur de modèles**
3. Sélectionnez votre modèle importé
4. (Facultatif) ajustez les paramètres de chargement (déport GPU, longueur de contexte, etc.)
5. Discutez normalement dans l’interface

### 4) Servir votre modèle affiné en tant qu’API locale (compatible OpenAI)

LM Studio peut servir votre modèle chargé derrière une API compatible OpenAI (pratique pour des applications comme Open WebUI, des agents personnalisés, des scripts, etc.).

{% tabs %}
{% tab title="Interface graphique (onglet Développeur)" %}

1. Chargez votre modèle dans LM Studio
2. Accédez à l’onglet **Développeur** onglet
3. Démarrez le serveur local
4. Utilisez l’URL de base affichée (la valeur par défaut est généralement `http://localhost:1234/v1`)
   {% endtab %}

{% tab title="CLI (lms load + lms server start)" %}

#### 1) Lister les modèles disponibles

```bash
lms ls
```

#### 2) Charger votre modèle (options facultatives)

```bash
lms load <model-identifier> --gpu=auto --context-length=8192
```

Remarques :

* `--gpu=1.0` signifie « essayer de déporter 100 % vers le GPU »
* Vous pouvez définir un identifiant stable :

```bash
lms load <model-identifier> --identifier="my-finetuned-model"
```

#### 3) Démarrer le serveur

```bash
lms server start --port 1234
```

{% endtab %}
{% endtabs %}

**Test rapide : lister les modèles**

```bash
curl http://localhost:1234/v1/models
```

**Exemple Python (SDK OpenAI) :**

{% code expandable="true" %}

```python
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="lm-studio",  # LM Studio peut ne pas exiger de véritable clé ; ceci est un espace réservé courant
)

resp = client.chat.completions.create(
    model="model-identifier-from-lm-studio",
    messages=[
        {"role": "system", "content": "Vous êtes un assistant utile."},
        {"role": "user", "content": "Bonjour ! Pour quoi vous ai-je affiné ?"},
    ],
    temperature=0.7, # ajustez la température selon les besoins de votre modèle
)

print(resp.choices[0].message.content)
```

{% endcode %}

**Exemple cURL (complétions de chat) :**

{% code expandable="true" %}

```bash
curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "model-identifier-from-lm-studio",
    "messages": [
      {"role": "user", "content": "Dites que ceci est un test !"}
    ],
    "temperature": 0.7 # ajustez la température selon les besoins de votre modèle
  }'
```

{% endcode %}

{% hint style="info" %}
**Conseil de débogage :** Si vous résolvez des problèmes de formatage/modèles, vous pouvez inspecter le *brut* prompt que LM Studio envoie au modèle en exécutant : `lms log stream`
{% endhint %}

### Dépannage

#### **Le modèle fonctionne dans Unsloth, mais la sortie de LM Studio est incompréhensible / se répète**

C’est presque toujours un **décalage de modèle de prompt / modèle de chat**.

LM Studio va **détecter automatiquement** le modèle de prompt à partir des métadonnées GGUF lorsque c’est possible, mais les modèles personnalisés ou incorrectement étiquetés peuvent nécessiter un remplacement manuel.

**Correctif :**

1. Accédez à **Mes modèles** → cliquez sur l’engrenage ⚙️ à côté de votre modèle
2. Trouvez **Modèle de prompt** et définissez-le pour qu’il corresponde au modèle avec lequel vous vous êtes entraîné
3. Sinon, dans la barre latérale de Chat : activez la **Modèle de prompt** case (vous pouvez forcer son affichage permanent)

#### LM Studio n’affiche pas mon modèle dans « Mes modèles »

* Préférez `lms import /path/to/model.gguf`
* Ou vérifiez que le fichier se trouve dans la structure de dossiers correcte : `~/.lmstudio/models/publisher/model/model-file.gguf`

#### Mémoire insuffisante / performances lentes

* Utilisez une quantification plus petite (ex. : `Q4_K_M`)
* Réduisez la longueur de contexte
* Ajustez le déport GPU (« Valeurs par défaut par modèle » / paramètres de chargement de LM Studio)

***

### Autres ressources

* [Article de blog LM Studio + Unsloth](https://lmstudio.ai/blog/functiongemma-unsloth) (guide FunctionGemma) :&#x20;
* LM Studio [Documentation sur l’importation de modèles](https://lmstudio.ai/docs/app/advanced/import-model)
* LM Studio [Documentation sur les modèles de prompt](https://lmstudio.ai/docs/app/advanced/prompt-template)
* LM Studio [Documentation de l’API compatible OpenAI](https://lmstudio.ai/docs/developer/openai-compat)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://unsloth.ai/docs/fr/notions-de-base/inference-and-deployment/lm-studio.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
