For the complete documentation index, see llms.txt. This page is also available as Markdown.

Comment exécuter des LLM locaux avec OpenAI Codex

Utilisez des modèles ouverts avec OpenAI Codex localement sur votre appareil.

Ce guide étape par étape vous montre comment connecter des LLM ouverts et des API à OpenAI Codex entièrement en local, avec captures d’écran à l’appui. Codex a seulement besoin d’un point de terminaison local qui parle l’API OpenAI Responses. Exécutez-le avec n’importe quel modèle ouvert comme Qwen, DeepSeek, Gemma, et bien d’autres.

Pour ce tutoriel, nous utiliserons les modèles ouverts suivants : Gemma 4 et Qwen3.5 qui sont de solides modèles agentiques et de codage (fonctionnent sur un appareil avec 24 Go de RAM/mémoire unifiée). Pour l’inférence, nous utiliserons Unsloth Studio et llama.cpp vous permet d’exécuter/diffuser des LLM sur macOS, Linux et Windows. Vous pouvez le remplacer par n’importe quel autre modèle ; il suffit de mettre à jour les noms des modèles dans vos scripts et la configuration de Codex.

Configurer Codex📖 Tutoriel de configuration d’un modèle local

Pour les quantifications de modèle, nous utiliserons Unsloth Dynamic GGUF afin de pouvoir exécuter des modèles GGUF quantifiés tout en conservant un maximum de précision.

Codex a beaucoup changé depuis janvier 2026. Il utilise désormais l’API OpenAI Responses exclusivementet la prise en charge de Chat Completions est obsolète. Unsloth Studio prend en charge les deux, nous utiliserons donc wire_api = "responses" tout au long de ce guide.

Configurer Codex

Codex est l’agent de codage officiel d’OpenAI qui s’exécute en local. Bien que conçu pour ChatGPT, il prend en charge des points de terminaison API personnalisésce qui le rend compatible avec les LLM locaux. Nous le pointerons plus tard vers le point de terminaison /v1/responses une fois qu’Unsloth sera prêt.

Exécutez dans votre terminal :

apt update
sudo apt install nodejs npm -y
npm install -g @openai/codex

Exécutez dans Windows PowerShell :

winget install --id OpenAI.Codex

Vous préférez l’application de bureau Codex ? Installez depuis le Microsoft Store :

winget install --id 9PLM9XGG6VKS --source msstore

Ou via le Microsoft app Store. L’application lit le même %USERPROFILE%\.codex\config.tomldonc la configuration du fournisseur que nous mettons en place plus tard s’applique dans les deux cas.

Vous préférez WSL ? Ouvrez PowerShell en tant qu’administrateur, exécutez wsl --install, redémarrez, puis suivez l’onglet Linux ci-dessus dans Ubuntu. Vous aurez besoin d’une petite astuce réseau pour atteindre Unsloth sur l’hôte Windows — voir l’astuce WSL dans Connecter Codex à Unsloth.

Exécutez dans votre terminal :

bash brew install --cask codex

C’est tout pour l’installation — n’exécutez pas codex encore. En le lançant sans rien, vous arrivez sur le sélecteur « Se connecter avec ChatGPT » d’OpenAI (il est modal — il n’y a pas de sortie). Une fois que nous aurons configuré un profil local, codex --oss --profile unsloth_api ou codex --oss --profile llama_cpp ignore complètement cet écran, car les fournisseurs personnalisés ont par défaut requires_openai_auth = false. Démarrez d’abord le serveur de modèle local, puis lancez Codex dessus.

📖 Tutoriels de démarrage rapide

Avant de commencer, nous devons d’abord terminer la configuration du modèle spécifique que vous allez utiliser. Nous utilisons Unsloth (une interface web) et llama.cpp, qui sont des frameworks open source pour exécuter et diffuser des LLM sur vos appareils Mac, Linux et Windows.

Avant de commencer, nous devons d’abord terminer la configuration du modèle spécifique que vous allez utiliser. Nous utilisons Unsloth (une interface web) et llama.cpp, qui sont des frameworks open source pour exécuter et diffuser des LLM sur vos appareils Mac, Linux et Windows.

Unsloth dispose aussi d’un système unique d’auto-réparation d’appel d’outils et recherche Web capacités. Voir à droite Claude Code connecté à Unsloth :

🦥 Tutoriel Unsloth🦙 Tutoriel llama.cpp

🦥 Tutoriel Unsloth

Pour ce tutoriel, nous servirons/relierons des modèles locaux à Claude Code via une interface en utilisant Unsloth. Unsloth fonctionne sur Windows, WSL, Linux et macOS.

Voir ci-dessous pour les instructions d’installation :

Exemple de Qwen3.6 2 bits en cours d’exécution dans Unsloth.
1

Télécharger Unsloth

La façon la plus simple de commencer est d’installer l’application Unsloth Desktop . Elle prend en charge macOS, Linux, Windows, NVIDIA, AMD, Intel et les configurations CPU.

Télécharger Unsloth

Ou, si vous préférez une installation manuelle :

macOS, Linux, WSL :

Windows PowerShell :

2

Installer

  1. Ouvrez le programme d'installation d'Unsloth (.dmg, .exe fichiers)

  2. Faites glisser Unsloth vers Applications sur Mac ou terminez la configuration sur Windows.

  3. Lancez l'application et attendez la fin de l'installation

3

Choisissez un modèle

Ouvrez le menu déroulant « Select model » en haut ou l'onglet « Model hub », choisissez un modèle et une quantification adaptés à votre appareil, puis téléchargez-le. Une fois le téléchargement terminé, commencez à discuter - aucune configuration requise.

4

Unsloth est maintenant prêt

Pour commencer à discuter, tapez un message et appuyez sur Entrée.

  • Connectez des outils : Claude Code, Codex, recherche web, MCP et plus encore

  • Entraînez des modèles : Ajuster du texte, de la diffusion, des embeddings, et plus encore

  • Générez des médias : Créer et entraîner localement des images, des vidéos, de la synthèse vocale

Guide de chargement du modèle + API

1

Sélectionner le modèle

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

Dans ce guide, nous utiliserons : unsloth/gemma-4-26B-A4B-it-GGUF avec la quantification recommandée UD-Q4_K_XL quantification.

2

Tester le modèle

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

Cela confirme que le modèle a été chargé correctement et qu’il est prêt à répondre.

3

Clé API Unsloth

Dans Unsloth, ouvrez Paramètres → API pour afficher ou créer votre clé API. Si vous démarrez Unsloth en mode sans interface avec la commande unsloth run, la clé est aussi affichée dans la console sous la forme sk-unsloth-....

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

Facultatif : ajuster les paramètres d’exécution

Vous pouvez transmettre des options d’exécution supplémentaires lors du lancement d’un modèle avec la commande unsloth run.

Les modèles capables de raisonnement peuvent être lancés avec --reasoning on ou --reasoning off. Le -c indicateur contrôle la fenêtre de contexte disponible.

Utilisez -p si vous avez besoin que l’API s’exécute sur un autre port.

Lorsque vous pilotez un agent de codage externe, ajoutez --disable-tools. Cela bascule Unsloth Studio en mode passthrough afin que les propres outils de l’agent soient transmis et renvoyés sous forme d’appels d’outils pour que l’agent les exécute, au lieu qu’Unsloth exécute ses outils intégrés côté serveur.

Pour une configuration d'exécution plus avancée, consultez la section principale Optimisation de l'API .

⚙️ Connecter Codex

Maintenant que nous avons configuré le LLM local pour Codex, nous configurons Codex pour fonctionner avec votre outil. Vous pouvez vous connecter facilement avec commande unsloth start ci-dessous ou le faire manuellement.

⚡ Exécuter OpenAI Codex avec commande unsloth start

Pour lancer Codex directement avec un modèle, exécutez :

Unsloth sélectionne automatiquement les paramètres corrects à utiliser, mais vous pouvez toujours les modifier.

Avec un modèle GGUF chargé dans Unsloth Studio, ouvrez votre dossier de projet et exécutez :

Unsloth crée un répertoire Codex isolé et un fournisseur Responses pris en charge par Unsloth pour ce lancement. Votre ~/.codex configuration habituelle reste inchangée.

L’état de Codex est temporaire par défaut. Utilisez --persist quand vous voulez conserver sa configuration et ses sessions gérées par Unsloth :

OpenAI Codex running with a local GGUF model through Unsloth Studio
Codex connecté à un modèle GGUF local via le point de terminaison Responses d’Unsloth Studio.

Codex nécessite actuellement un modèle GGUF servi via le llama-server backend.

Voir la référence complète commande unsloth start référence pour le chargement du modèle, la persistance et toutes les options du wrapper.

Le reste de ce guide couvre une configuration entièrement manuelle du fournisseur Codex.

🔌 Connecter manuellement

Cette section concerne la configuration manuelle ; elle est identique que vous utilisiez Unsloth Studio, llama.cpp ou un autre serveur local compatible OpenAI. Codex a besoin de trois valeurs : la clé API, la URL de base, et le nom du modèle. L’exemple ci-dessous utilise Unsloth Studio ; pour llama.cpp, utilisez la même structure avec le llama_cpp profil dans la section llama.cpp.

1

Configurer le fournisseur Unsloth

Codex cherche ~/.codex/config.toml sur macOS/Linux/WSL ou %USERPROFILE%\.codex\config.toml sur Windows. Créez-le ou modifiez-le :

Ensuite, créez un profil Codex pour Unsloth :

Le modèle doit correspondre à l’identifiant que votre serveur renvoie à GET http://localhost:8888/v1/models. Unsloth Studio expose l’identifiant complet du dépôt (par exemple unsloth/gemma-4-26B-A4B-it-GGUF). La section llama.cpp ci-dessous utilise --alias "unsloth/gemma-4-26B-A4B"donc utilisez cet identifiant plus court lorsque vous pointez Codex vers llama-server à la place.

Cette configuration enregistre un unsloth_api fournisseur de modèle Codex, le pointe vers Unsloth Studio, et définit unsloth_api comme fournisseur local par défaut pour codex --oss. Le profil séparé unsloth_api sélectionne le fournisseur et le modèle Unsloth uniquement lorsque vous lancez Codex avec --profile unsloth_api, donc votre configuration Codex habituelle n’est pas modifiée. Codex lit la clé API depuis une variable d’environnement nommée UNSLOTH_STUDIO_AUTH_TOKEN. Vous définirez la vraie clé à l’étape suivante.

Champ
Ce qu’elle fait

base_url

Le point de terminaison de votre serveur local + /v1

env_key

Nom de la variable d’environnement à partir de laquelle Codex lit votre clé API. Ce n’est pas la clé elle-même.

wire_api

responses. Codex utilise désormais exclusivement l’API Responses d’OpenAI.

requires_openai_auth

false fait que Codex ignore l’écran « Se connecter avec ChatGPT » pour ce fournisseur. La valeur par défaut est déjà false, mais soyez explicite.

Le modèle

L’identifiant du modèle exposé par votre serveur. Appelez GET <base_url>/models pour confirmer la chaîne exacte.

oss_provider

Définit unsloth_api comme fournisseur local par défaut lors du lancement de Codex avec --oss.

requires_openai_auth

false fait que Codex ignore l’écran « Se connecter avec ChatGPT » pour ce fournisseur.

Vous pouvez créer plusieurs fichiers de profil, un pour chaque modèle Unsloth entre lesquels vous basculez. Lancez celui que vous voulez avec codex --profile <profile-name>.

2

Définissez la variable d’environnement de la clé API

Utilisez le même nom de variable d’environnement que celui que vous avez écrit dans env_key. Dans l’exemple Unsloth Studio ci-dessus, env_key = "UNSLOTH_STUDIO_AUTH_TOKEN", donc définissez UNSLOTH_STUDIO_AUTH_TOKEN dans le même terminal depuis lequel vous exécuterez Codex :

Si vous avez renommé env_key, renommez aussi la variable dans les commandes. Par exemple, un profil llama.cpp qui utilise env_key = "LLAMA_CPP_API_KEY" a besoin de LLAMA_CPP_API_KEY, et non UNSLOTH_STUDIO_AUTH_TOKEN.

Session vs persistance : les commandes ci-dessus ne s’appliquent qu’au terminal actuel. Pour les rendre persistantes :

  • macOS / Linux / WSL : ajoutez la ligne `export` à à ~/.bashrc (bash) ou ~/.zshrc (zsh).

  • Windows : exécutez setx UNSLOTH_STUDIO_AUTH_TOKEN "YOUR_TOKEN" une fois, ou ajoutez la ligne `$env:` à votre PowerShell $PROFILE.

3

Lancer Codex

Premier lancement dans un nouveau répertoire Codex demande « Faites-vous confiance au contenu de ce répertoire ? » - choisissez Oui, continuer. C’est l’invite de confiance par répertoire actuel, pas la connexion ChatGPT (celle-ci est ignorée grâce à `requires_openai_auth = false`). Les lancements suivants dans le même répertoire ignorent cette invite.

Vous voyez Métadonnées du modèle pour unsloth/gemma-4-26B-A4B introuvables. Utilisation des métadonnées de secours par défaut? Codex est livré avec un tableau intégré des fenêtres de contexte, de la prise en charge des outils et des modalités d’entrée pour les propres modèles d’OpenAI. Pour tout autre modèle, il revient à des valeurs sûres par défaut. L’avertissement apparaît une fois par session pour chaque identifiant non OpenAI. Tout continue de fonctionner, vous pouvez l’ignorer.

Pour corriger cela : ajoutez model_context_window = 131072 en haut de ~/.codex/config.toml afin que Codex utilise la vraie fenêtre de contexte 128K de Gemma 4 au lieu de son estimation de secours. Pour avoir aussi un contrôle total sur la prise en charge des outils et les modalités d’entrée, pointez model_catalog_json dans [profiles.unsloth_api] vers un fichier JSON contenant une entrée ModelInfo personnalisée pour votre identifiant.

Le --profile unsloth_api L’indicateur signale à Codex de charger ~/.codex/unsloth_api.config.toml, ce qui sélectionne le fournisseur et le modèle Unsloth Studio. Ajoutez --oss pour passer par le flux du fournisseur OSS local de Codex. Le nom du modèle apparaît dans la barre d’état de Codex.

Ajoutez --search pour activer la recherche web :

Pour contourner toutes les invites d’approbation (ATTENTION : cela permettra à Codex de faire et d’exécuter du code comme bon lui semble, sans aucune approbation !):

Essayez une vraie tâche

Essayez cette invite pour installer et exécuter un finetuning simple d’Unsloth :

et si nous attendons un peu plus longtemps, vous verrez un modèle finetuné avec succès grâce à Unsloth !

Déconnecter ou rétablir

Lancer Codex sans -p unsloth_api et il utilisera son fournisseur par défaut. Ou supprimez les [profiles.unsloth_api] et [model_providers.unsloth_api] blocs de ~/.codex/config.toml.

Vous pouvez laisser Unsloth Studio en cours d’exécution ou l’arrêter. Il n’intercepte rien lorsqu’il est arrêté.

Dépannage

Symptôme
Cause probable
Correctif

Métadonnées du modèle pour ... introuvables

slug non-OpenAI, pas de métadonnées intégrées

Avertissement sans gravité. Pour neutraliser les effets secondaires, définissez model_context_window = 131072 dans ~/.codex/config.toml, ou pointez

Codex dit que c’est GPT

Codex injecte une invite système faisant référence à OpenAI ; les modèles locaux la reproduisent

Ce n’est pas un bug de routage. Vérifiez via le panneau d’activité d’Unsloth. Remplacez l’invite système pour modifier l’auto-déclaration.

Connexion refusée

Unsloth ne s’exécute pas ou le port est incorrect

Confirmez qu’Unsloth est actif à http://localhost:8888; vérifiez base_url dans config.toml

wire_api = "chat" n’est plus pris en charge

Hérité wire_api = "chat" dans la configuration

Passez à wire_api = "responses"

modèle introuvable

Erreur dans l’ID du modèle

GET http://localhost:8888/v1/models et copiez l’ID exact

OOM en milieu de génération

Contexte trop grand pour la VRAM

Réduisez le contexte dans Unsloth Paramètres → Inférence, ou utilisez une quantification plus petite

Codex affiche le sélecteur "Se connecter avec ChatGPT"

Lancé sans configuration codex (sans --oss)

Quittez (Ctrl+C), puis relancez avec codex --oss --profile unsloth_api. Les fournisseurs personnalisés sautent cette étape

Appel d’outil peu fiable

Besoin d’un repli avec auto-réparation

Les appels d’outils avec auto-réparation sont activés par défaut

WSL : Connexion refusée vers localhost

l’espace de noms réseau WSL

Utilisez l’adresse IP de l’hôte Windows dans base_url, ou activez le réseau miroir WSL2

🦙 Tutoriel Llama.cpp

Nous pouvons aussi utiliser llama.cpp directement. Nous devons déployer llama-server qui est un framework open source pour exécuter et servir efficacement des LLM sur les appareils Mac, Linux et Windows. Le modèle sera servi sur le port 8001 avec tous les appels d’outils de l’agent acheminés via ce seul point de terminaison compatible OpenAI.

Le point de terminaison llama.cpp sera sur le port 8001 au lieu de 8888 (valeur par défaut d’Unsloth Studio). Ajustez votre Codex base_url en conséquence dans ~/.codex/config.toml.

1

Installer llama.cpp

Nous devons installer llama.cpp pour déployer/servir des LLM locaux à utiliser dans Codex. Nous suivons les instructions officielles de compilation pour obtenir les bons bindings GPU et des performances maximales. Remplacez -DGGML_CUDA=ON vers -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 normalement - la prise en charge Metal est activée par défaut.

2

Télécharger et utiliser les modèles localement

Téléchargez le modèle via le hf CLI (pip install huggingface_hub hf_transfer). Nous utilisons la UD-Q4_K_XL quantification pour obtenir le meilleur équilibre entre taille et précision. Vous pouvez trouver tous les uploads GGUF d’Unsloth dans notre collection ici. Si les téléchargements restent bloqués, voir https://hugging-face-hub-xet-debugging.md.

Vous voulez la prise en charge de la vision ? Ajoutez --include "*mmproj-BF16*" pour récupérer aussi le projecteur de vision, puis passez --mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf vers llama-server. Codex lui-même est en mode texte uniquement, donc c’est facultatif.

3

Démarrer le serveur Llama

Pour déployer Gemma-4-26B-A4B pour des charges de travail agentiques, nous utilisons llama-server. Nous appliquons les paramètres d’échantillonnage recommandés par Google (temp 1.0, top_p 0.95, top_k 64) et activons --jinja pour une prise en charge correcte des appels d’outils.

Exécutez cette commande dans un nouveau terminal (utilisez tmux ou ouvrez un nouveau terminal). Ce qui suit devrait tenir confortablement dans un GPU de 24 Go (RTX 4090) à environ 18 Go. --fit on effectuera également un déchargement automatique, mais si vous constatez de mauvaises performances, réduisez --ctx-size.

Nous avons utilisé --cache-type-k q8_0 --cache-type-v q8_0 pour la quantification du cache KV afin de réduire l’utilisation de la VRAM. Si vous constatez une qualité réduite, utilisez bf16 à la place (--cache-type-k bf16 --cache-type-v bf16), mais la VRAM double.

4

Pointez Codex vers le port 8001

Modifiez votre ~/.codex/config.toml pour utiliser le port de llama-server :

Puis lancez avec le nouveau profil :

Comme llama-server ne nécessite pas de vraie clé, vous pouvez définir le jeton d’authentification sur n’importe quelle valeur :

Mis à jour

Ce contenu vous a-t-il été utile ?