Hello ! đ
J’ai trouvĂ© comment utiliser Codestral, le modĂšle de Mistral AI dĂ©diĂ© au code, gratuitement. Je vous montre comment le paramĂ©trer dans Cline, un outil de gĂ©nĂ©ration de code grĂące Ă l’IA.
Codestral, c’est quoi au juste ? đ€
Codestral est le premier modĂšle de Mistral AI spĂ©cialement conçu pour la gĂ©nĂ©ration de code. Il supporte plus de 80 langages de programmation, des plus courants comme Python, Java ou JavaScript jusqu’aux plus spĂ©cifiques comme Swift ou Fortran.
ConcrĂštement, il permet de :
- Compléter des fonctions de code
- Générer des tests
- ComplĂ©ter du code partiel avec un mĂ©canisme de “fill-in-the-middle”
L’outil qui va nous aider : Cline đ ïž
Pour utiliser Codestral facilement, nous allons passer par Cline, une extension VSCode qui va nous simplifier la vie. C’est un assistant de code, assez complet, qui permet (selon la doc du projet Github) :
- Analyser intelligemment vos projets en comprenant la structure des fichiers
- Créer et modifier des fichiers (avec votre permission bien sûr)
- Exécuter des commandes dans le terminal
- MĂȘme dĂ©boguer des problĂšmes visuels pour le dĂ©veloppement web !
Cline vous demande toujours la permission avant de faire des modifications, sauf si vous le laissez faire (bon, je ne conseille pas vraiment). Pour ma part, je l’ai autorisĂ© Ă lire tous les fichiers locaux, et je valide les modifications de code et les commandes shell (Auto-approve: Read files and directories) .
D’ailleurs, si jamais vous avez des soucis d’intĂ©gration de shell comme moi (oui Cline n’aime pas les shell un peu trop verbeaux avec pleins de smileys genre Zsh + Oh-my-zsh ^^), je vous mets le lien vers la doc pour fixer ça : shell-integration-problems. J’utilise depuis un Bash classique, sans fioritures.
La mise en place, Ă©tape par Ă©tape âïž
MĂȘme si Cline propose d’utiliser directement une clĂ© API de Mistral, cela ne fonctionne pas avec la clĂ© Codestral (pour le moment, espĂ©rons que ça soit fixĂ© un jour). La mĂ©thode repose donc sur liteLLM qui sert de proxy.
Je vous montre ici comment faire pour Codestral mais cette mĂ©thode qui passe par un proxy permet d’utiliser n’importe quel provider supportĂ© par LiteLLM, ce qui peut ĂȘtre utile dans plein d’autres cas :).
1. Obtenir une clé API Mistral
PremiÚre étape indispensable : avoir une clé Mistral
- Créez un compte sur la plateforme Mistral ;
- Acceptez les conditions d’utilisation ;
- Récupérez votre clé API dans les paramÚtres (Menu Codestral -> Codestral).
A noter que le code que vous envoyez pourra ĂȘtre utilisĂ© par les Ă©quipes de Mistral (donc n’envoyez pas tout et n’importe quoi, surtout pas de secrets !!)
2. Installer litellm
On commence par installer liteLLM qui va nous servir de pont avec Codestral :
pip install 'litellm[proxy]'
3. Configurer et lancer litellm
Une fois l’installation terminĂ©e :
# Exportez votre clé API
export CODESTRAL_API_KEY=[votre_clé_API]
# Lancez le serveur
litellm --model codestral/codestral-latest
4. Installer et configurer Cline dans VSCode
Installation
C’est une extension, il suffit donc d’aller la chercher dans la marketplace.
Configuration
Ouvrez l’extension Cline qui s’est ajoutĂ©e dans votre barre latĂ©rale et :
- Affichez les paramÚtres (la roue dentée - classique -) ;
- Pour les valeurs :
- Provider : “OpenAPI Compatible”
- Base URL :
http://0.0.0.0:4000
- API Key : mettez au moins un caractĂšre (c’est obligatoire mais pas utilisĂ©)
- Model ID :
codestral-latest
Comme je ne suis pas vraiment fluent, dans Custom Instructions je mets Speak in french
pour converser en français.
Validez en cliquant sur le bouton Done.
Et voilĂ ! đ
Vous avez maintenant un environnement de dĂ©veloppement boostĂ© Ă l’IA, gratuitement.
Je dĂ©couvre encore Cline et je l’utilise en mode Act (Ă choisir tout en bas Ă droite), avec autorisation de lire les fichiers et je valide manuellement ses propositions.
J’utilise ces outils depuis quelques jours et je dois dire que je suis assez bluffĂ© : c’est un vrai gain de productivitĂ©. Le fait que ce soit gratuit et que ça s’intĂšgre parfaitement Ă VSCode en fait une solution vraiment intĂ©ressante pour les dĂ©veloppeurs, l’IA fait de sacrĂ© progrĂšs dans ce domaine đ± !
Bonnes sessions de codage ! đ