# Qwen3-VL : Guide d'exécution

Qwen3-VL est la nouvelle série de modèles de vision de Qwen avec **instruction** et **réflexion** des versions. Les modèles 2B, 4B, 8B et 32B sont denses, tandis que 30B et 235B sont MoE. Le LLM de réflexion 235B offre des performances de pointe en vision et en codage, rivalisant avec GPT-5 (high) et Gemini 2.5 Pro.\
\
Qwen3-VL dispose de capacités de vision, de vidéo et d'OCR, ainsi que d'un contexte de 256K (extensible à 1M).\
\
[Unsloth](https://github.com/unslothai/unsloth) prend en charge **le fine-tuning de Qwen3-VL et** [**RL**](/docs/fr/commencer/reinforcement-learning-rl-guide/vision-reinforcement-learning-vlm-rl.md). Entraînez Qwen3-VL (8B) gratuitement avec nos [notebooks](#fine-tuning-qwen3-vl).

<a href="#running-qwen3-vl" class="button primary">Exécution de Qwen3-VL</a><a href="#fine-tuning-qwen3-vl" class="button secondary">Fine-tuning de Qwen3-VL</a>

## 🖥️ **Exécution de Qwen3-VL**

Pour exécuter le modèle dans llama.cpp, vLLM, Ollama, etc., voici les paramètres recommandés :

### :gear: Paramètres recommandés

Qwen recommande ces paramètres pour les deux modèles (ils sont un peu différents pour Instruct et Thinking) :

| Paramètres Instruct :                                                    | Paramètres Thinking :                                                    |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| <mark style="background-color:blue;">**Température = 0.7**</mark>        | <mark style="background-color:blue;">**Température = 1.0**</mark>        |
| <mark style="background-color:yellow;">**Top\_P = 0.8**</mark>           | <mark style="background-color:yellow;">**Top\_P = 0.95**</mark>          |
| <mark style="background-color:green;">**presence\_penalty = 1.5**</mark> | <mark style="background-color:green;">**presence\_penalty = 0.0**</mark> |
| Longueur de sortie = 32768 (jusqu'à 256K)                                | Longueur de sortie = 40960 (jusqu'à 256K)                                |
| Top\_K = 20                                                              | Top\_K = 20                                                              |

Qwen3-VL a également utilisé les paramètres ci-dessous pour ses chiffres de benchmark, comme mentionné [sur GitHub](https://github.com/QwenLM/Qwen3-VL/tree/main?tab=readme-ov-file#generation-hyperparameters).

{% columns %}
{% column %}
Paramètres Instruct :

```bash
export greedy='false'
export seed=3407
export top_p=0.8
export top_k=20
export temperature=0.7
export repetition_penalty=1.0
export presence_penalty=1.5
export out_seq_length=32768
```

{% endcolumn %}

{% column %}
Paramètres Thinking :

```bash
export greedy='false'
export seed=1234
export top_p=0.95
export top_k=20
export temperature=1.0
export repetition_penalty=1.0
export presence_penalty=0.0
export out_seq_length=40960
```

{% endcolumn %}
{% endcolumns %}

### :bug:Corrections de bugs du modèle de chat

Chez Unsloth, nous accordons la plus grande importance à la précision, alors nous avons enquêté pour savoir pourquoi, après le 2e tour d'exécution des modèles Thinking, llama.cpp se cassait, comme ci-dessous :

{% columns %}
{% column %}

<figure><img src="/files/7560a3a21bae664b0c98d72d522f04063e1a76de" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
Le code d'erreur :

```
terminate called after throwing an instance of 'std::runtime_error'
  what():  Value is not callable: null at row 63, column 78:
            {%- if '</think>' in content %}
                {%- set reasoning_content = ((content.split('</think>')|first).rstrip('\n').split('<think>')|last).lstrip('\n') %}
                                                                             ^
```

{% endcolumn %}
{% endcolumns %}

Nous avons réussi à corriger le modèle de chat Thinking pour les modèles VL, nous avons donc re-téléversé tous les quants Thinking et les quants d'Unsloth. Ils devraient maintenant tous fonctionner après la 2e conversation - **les autres quants échoueront au chargement après la 2e conversation.**

### **Téléversements Unsloth de Qwen3-VL**:

Qwen3-VL est désormais pris en charge pour les GGUF par llama.cpp depuis le 30 octobre 2025, vous pouvez donc les exécuter localement !

| GGUF dynamiques (à exécuter)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | BnB 4 bits Unsloth dynamique                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 16 bits en pleine précision                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><a href="https://huggingface.co/unsloth/Qwen3-VL-2B-Instruct-GGUF">2B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-2B-Thinking-GGUF">2B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Instruct-GGUF">4B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Thinking-GGUF">4B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct-GGUF">8B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Thinking-GGUF">8B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-30B-A3B-Instruct-GGUF">30B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-30B-A3B-Thinking-GGUF">30B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Instruct-GGUF">32B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Thinking-GGUF">32B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF">235B-A22B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-235B-A22B-Thinking-GGUF">235B-A22B-Thinking</a></li></ul> | <ul><li><a href="https://huggingface.co/unsloth/Qwen3-VL-2B-Instruct-unsloth-bnb-4bit">2B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-2B-Thinking-unsloth-bnb-4bit">2B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Instruct-unsloth-bnb-4bit">4B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Thinking-unsloth-bnb-4bit">4B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct-unsloth-bnb-4bit">8B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Thinking-unsloth-bnb-4bit">8B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Instruct-unsloth-bnb-4bit">32B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Thinking-unsloth-bnb-4bit">32B-Thinking</a></li></ul> | <ul><li><a href="https://huggingface.co/unsloth/Qwen3-VL-2B-Instruct">2B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Instruct">4B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-4B-Thinking">4B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct">8B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-8B-Thinking">8B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-30B-A3B-Instruct">30B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-30B-A3B-Thinking">30B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Instruct">32B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-32B-Thinking">32B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-235B-A22B-Thinking">235B-A22B-Thinking</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-VL-235B-A22B-Instruct">235B-A22B-Instruct</a></li></ul> |

### 📖 Llama.cpp : Tutoriel pour exécuter Qwen3-VL

1. Obtenez la dernière version de `llama.cpp` sur [GitHub ici](https://github.com/ggml-org/llama.cpp). Vous pouvez également suivre les instructions de compilation ci-dessous. Changez `-DGGML_CUDA=ON` en `-DGGML_CUDA=OFF` si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU. **Pour les appareils Apple Mac / Metal**, définissez `-DGGML_CUDA=OFF` puis continuez comme d'habitude - la prise en charge de Metal est activée par défaut.

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. **Obtenons d'abord une image !** Vous pouvez également téléverser des images. Nous utiliserons <https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.png>, qui est simplement notre mini-logo montrant comment les fine-tunes sont réalisés avec Unsloth :

<figure><img src="/files/8226e799b1a697c94669626a5da8371ee8388470" alt="" width="188"><figcaption></figcaption></figure>

3. Téléchargeons cette image

{% code overflow="wrap" %}

```bash
wget https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.png -O unsloth.png
```

{% endcode %}

4. Obtenons la 2e image à <https://files.worldwildlife.org/wwfcmsprod/images/Sloth_Sitting_iStock_3_12_2014/story_full_width/8l7pbjmj29_iStock_000011145477Large_mini__1_.jpg>

<figure><img src="/files/eb404a2bbe8e7f1836a2608a3950391d566357e3" alt="" width="188"><figcaption></figcaption></figure>

{% code overflow="wrap" %}

```bash
wget https://files.worldwildlife.org/wwfcmsprod/images/Sloth_Sitting_iStock_3_12_2014/story_full_width/8l7pbjmj29_iStock_000011145477Large_mini__1_.jpg -O picture.png
```

{% endcode %}

5. Ensuite, utilisons la fonction de téléchargement automatique de modèle de llama.cpp, essayez ceci pour le modèle 8B Instruct :

```bash
./llama.cpp/llama-mtmd-cli \
    -hf unsloth/Qwen3-VL-8B-Instruct-GGUF:UD-Q4_K_XL \
    --n-gpu-layers 99 \
    --jinja \
    --top-p 0.8 \
    --top-k 20 \
    --temp 0.7 \
    --min-p 0.0 \
    --flash-attn on \
    --presence-penalty 1.5 \
    --ctx-size 8192
```

6. Une fois à l'intérieur, vous verrez l'écran ci-dessous :

<figure><img src="/files/94a2a39d9181d4b3243fcf493d405cc90b786e98" alt=""><figcaption></figcaption></figure>

7. Chargez l'image via `/image PATH` c.-à-d. `/image unsloth.png` puis appuyez sur ENTRÉE

<figure><img src="/files/9051b32bf96a8ee21b2ae9ab84fd8f395e36d1ab" alt="" width="375"><figcaption></figcaption></figure>

8. Lorsque vous appuyez sur ENTRÉE, il dira "unsloth.png image loaded"

<figure><img src="/files/c650ab0da641567494a1782c29afafa5f12f6f63" alt="" width="375"><figcaption></figcaption></figure>

9. Maintenant, posons une question comme « Qu'est-ce que cette image ? » :

<figure><img src="/files/790bd5980a28a2f1ada85f19cd2d2d96b185bffa" alt=""><figcaption></figcaption></figure>

10. Chargez maintenant la 2e image via `/image picture.png` puis appuyez sur ENTRÉE et demandez « Qu'est-ce que cette image ? »

<figure><img src="/files/f11af7902f3e5847ea452b9b35b85de35c60c43b" alt=""><figcaption></figcaption></figure>

11. Et enfin, demandons comment les deux images sont liées (ça marche !)

{% code overflow="wrap" %}

```
Les deux images sont directement liées parce qu'elles présentent toutes deux le **paresseux à trois doigts**, qui est le sujet central du projet "made with unsloth".

- La première image est le **logo officiel** du projet "made with unsloth". Elle présente un paresseux à trois doigts stylisé et de style dessin animé à l'intérieur d'un cercle vert, avec le texte "made with unsloth" à côté. C'est l'identité visuelle du projet.
- La deuxième image est une **photographie** d'un vrai paresseux à trois doigts dans son habitat naturel. Cette photo capture l'apparence physique et le comportement de l'animal dans la nature.

La relation entre les deux images est que le logo (image 1) est une représentation numérique ou un symbole utilisé pour promouvoir le projet "made with unsloth", tandis que la photographie (image 2) est une représentation réelle du paresseux à trois doigts authentique. Le projet utilise probablement le personnage du logo comme icône ou mascotte, et la photographie sert à illustrer à quoi ressemble le paresseux à trois doigts dans son environnement naturel.
```

{% endcode %}

<figure><img src="/files/9bb26fc566d96ac488531867ffdd87e66780a850" alt=""><figcaption></figcaption></figure>

12. Vous pouvez également télécharger le modèle via (après avoir installé `pip install huggingface_hub hf_transfer` ) HuggingFace's `snapshot_download` qui est utile pour les téléchargements de grands modèles, **car le téléchargeur automatique de llama.cpp peut être lent.** Vous pouvez choisir Q4\_K\_M, ou d'autres versions quantifiées.

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id   = "unsloth/Qwen3-VL-8B-Instruct-GGUF", # Ou "unsloth/Qwen3-VL-8B-Thinking-GGUF"
    local_dir = "unsloth/Qwen3-VL-8B-Instruct-GGUF", # Ou "unsloth/Qwen3-VL-8B-Thinking-GGUF"
    allow_patterns = ["*UD-Q4_K_XL*", "*mmproj-F16*"],
)
```

13. Exécutez le modèle et essayez n'importe quelle invite. **Pour Instruct :**

```bash
./llama.cpp/llama-mtmd-cli \
    --model unsloth/Qwen3-VL-8B-Instruct-GGUF/Qwen3-VL-8B-Instruct-UD-Q4_K_XL.gguf \
    --mmproj unsloth/Qwen3-VL-8B-Instruct-GGUF/mmproj-F16.gguf \
    --n-gpu-layers 99 \
    --jinja \
    --top-p 0.8 \
    --top-k 20 \
    --temp 0.7 \
    --min-p 0.0 \
    --flash-attn on \
    --presence-penalty 1.5 \
    --ctx-size 8192
```

14. **Pour Thinking**:

```bash
./llama.cpp/llama-mtmd-cli \
    --model unsloth/Qwen3-VL-8B-Thinking-GGUF/Qwen3-VL-8B-Thinking-UD-Q4_K_XL.gguf \
    --mmproj unsloth/Qwen3-VL-8B-Thinking-GGUF/mmproj-F16.gguf \
    --n-gpu-layers 99 \
    --jinja \
    --top-p 0.95 \
    --top-k 20 \
    --temp 1.0 \
    --min-p 0.0 \
    --flash-attn on \
    --presence-penalty 0.0 \
    --ctx-size 8192
```

### :magic\_wand:Exécution de Qwen3-VL-235B-A22B et Qwen3-VL-30B-A3B

Pour Qwen3-VL-235B-A22B, nous utiliserons llama.cpp pour une inférence optimisée et une multitude d'options.

1. Nous suivons des étapes similaires à celles ci-dessus, mais cette fois nous devrons également effectuer des étapes supplémentaires car le modèle est très volumineux.
2. Téléchargez le modèle via (après avoir installé `pip install huggingface_hub hf_transfer` ). Vous pouvez choisir UD-Q2\_K\_XL, ou d'autres versions quantifiées..

   ```python
   # !pip install huggingface_hub hf_transfer
   import os
   os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
   from huggingface_hub import snapshot_download
   snapshot_download(
       repo_id = "unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF",
       local_dir = "unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF",
       allow_patterns = ["*UD-Q2_K_XL*", "*mmproj-F16*"],
   )
   ```
3. Exécutez le modèle et essayez une invite. Définissez les bons paramètres pour Thinking par rapport à Instruct.

**Instruct :**

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-mtmd-cli \
    --model unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF/UD-Q2_K_XL/Qwen3-VL-235B-A22B-Instruct-UD-Q2_K_XL-00001-of-00002.gguf \
    --mmproj unsloth/Qwen3-VL-235B-A22B-Instruct-GGUF/mmproj-F16.gguf
    --jinja \
    --top-p 0.8 \
    --top-k 20 \
    --temp 0.7 \
    --min-p 0.0 \
    --flash-attn on \
    --presence-penalty 1.5 \
    --ctx-size 8192 \
```

{% endcode %}

**Thinking :**

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-mtmd-cli \
    --model unsloth/Qwen3-VL-235B-A22B-Thinking-GGUF/UD-Q2_K_XL/Qwen3-VL-235B-A22B-Thinking-UD-Q2_K_XL-00001-of-00002.gguf \
    --mmproj unsloth/Qwen3-VL-235B-A22B-Thinking-GGUF/mmproj-F16.gguf \
    --n-gpu-layers 99 \
    --jinja \
    --top-p 0.95 \
    --top-k 20 \
    --temp 1.0 \
    --min-p 0.0 \
    --flash-attn on \
    --presence-penalty 0.0 \
    --ctx-size 8192 \
    -ot ".ffn_.*_exps.=CPU"
```

{% endcode %}

4. Modifiez, `--ctx-size 16384` pour la longueur du contexte, `--n-gpu-layers 99` pour le déchargement GPU sur le nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous n'avez qu'une inférence CPU.

{% hint style="success" %}
**Utilisez `--fit on` introduit le 15 décembre 2025 pour une utilisation maximale de votre GPU et de votre CPU.**

En option, utilisez `-ot ".ffn_.*_exps.=CPU"` pour décharger toutes les couches MoE sur le CPU ! Cela permet en pratique de placer toutes les couches non MoE sur 1 GPU, améliorant ainsi les vitesses de génération. Vous pouvez personnaliser l'expression regex pour faire tenir davantage de couches si vous disposez de plus de capacité GPU.
{% endhint %}

### 🐋 Docker : Exécuter Qwen3-VL

Si vous avez déjà Docker Desktop, pour exécuter les modèles d'Unsloth depuis Hugging Face, lancez la commande ci-dessous et c'est terminé :

```bash
docker model pull hf.co/unsloth/Qwen3-VL-8B-Instruct-GGUF:UD-Q4_K_XL
```

Ou vous pouvez exécuter les modèles Qwen3-VL téléversés par Docker :

```bash
docker model run ai/qwen3-vl
```

## 🦥 **Fine-tuning de Qwen3-VL**

Unsloth prend en charge le fine-tuning et l'apprentissage par renforcement (RL) de Qwen3-VL, y compris les grands modèles 32B et 235B. Cela inclut la prise en charge du fine-tuning pour la vidéo et la détection d'objets. Comme d'habitude, Unsloth rend l'entraînement des modèles Qwen3-VL 1,7x plus rapide avec 60 % de VRAM en moins et des longueurs de contexte 8x plus longues sans dégradation de la précision.\
\
Nous avons créé deux notebooks d'entraînement Qwen3-VL (8B) que vous pouvez entraîner gratuitement sur Colab :

* [Notebook de fine-tuning SFT normal](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_VL_\(8B\)-Vision.ipynb)
* [Notebook RL GRPO/GSPO](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_VL_\(8B\)-Vision-GRPO.ipynb)

{% hint style="success" %}
**La sauvegarde de Qwen3-VL vers GGUF fonctionne désormais, car llama.cpp vient de le prendre en charge !**

Si vous souhaitez utiliser un autre modèle Qwen3-VL, il suffit de remplacer le modèle 8B par le 2B, 32B, etc.
{% endhint %}

L'objectif du notebook GRPO est de faire résoudre des problèmes de maths à un modèle vision-langage via RL à partir d'une entrée image comme ci-dessous :

<figure><img src="/files/feb85d3dc2f59b214322735b3dda042f7933cc93" alt="" width="375"><figcaption></figcaption></figure>

Cette prise en charge de Qwen3-VL intègre également notre dernière mise à jour pour un RL encore plus économe en mémoire et plus rapide, y compris notre [fonction de veille](/docs/fr/commencer/reinforcement-learning-rl-guide/memory-efficient-rl.md#unsloth-standby), qui limite de manière unique la dégradation de la vitesse par rapport à d'autres implémentations. Vous pouvez en savoir plus sur l'entraînement des LLM de vision avec RL grâce à notre [guide VLM GRPO](/docs/fr/commencer/reinforcement-learning-rl-guide/vision-reinforcement-learning-vlm-rl.md).

### Entraînement multi-image

Afin de fine-tuner ou d'entraîner Qwen3-VL avec plusieurs images, la modification la plus simple consiste à remplacer

```python
ds_converted = ds.map(
    convert_to_conversation,
)
```

par :

```python
ds_converted = [convert_to_converation(sample) for sample in dataset]
```

L'utilisation de map active les règles de standardisation des ensembles de données et de traitement Arrow, qui peuvent être strictes et plus compliquées à définir.


---

# Agent Instructions: 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/modeles/tutorials/qwen3-how-to-run-and-fine-tune/qwen3-vl-how-to-run-and-fine-tune.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.
