cursus
Codestral de Mistral 25.01 : Un guide avec des exemples de code VS
Pour nous, programmeurs, le codage est peut-être l'une des applications les plus importantes des LLM. La capacité à générer un code précis, à déboguer et à "comprendre" correctement le code est ce qui fait du LLM un assistant essentiel pour de nombreux programmeurs, en plus de ses nombreux avantages pour l'entreprise.
Mistral a récemment publié son dernier modèle, Codestral 25.01, également connu sous le nom de Codestral V2 - une mise à jour du premier modèle Codestral. premier modèle Codestral sorti en 2024. Dans cet article, je vais passer en revue Codestral 25.01, évaluer ses performances dans les benchmarks, vous guider dans son installation et vous faire une démonstration en action.
Qu'est-ce que le Codestral 25.01 de Mistral ?
Citation de l'annonce de Mistral de MistralCodestral 25.01 est "léger, rapide et compétent dans plus de 80 langages de programmation (...) optimisé pour les cas d'utilisation à faible latence et à haute fréquence et prend en charge des tâches telles que le remplissage au milieu (FIM), la correction de code et la génération de tests".
De nombreux développeurs ont utilisé le modèle précédent, Codestralpour les tâches liées au code. Codestral 25.01 est une version améliorée, avec un tokenizer plus performant et une architecture plus efficace qui lui permet de générer du code deux fois plus rapidement.
Mistral n'a pas encore dévoilé le modèle ni fourni de détails sur son architecture ou sa taille. Cependant, nous savons qu'il a moins de 100 milliards de paramètres et qu'il supporte une longueur de contexte de 256K.
Au moment de la rédaction de cet article, le Codestral 25.01 n'est qu'à quelques points en dessous de Claude 3.5 Sonnet dans la série Chatbot Arena (anciennement LMSYS) et à peine plus que Codestral V1.
Source : Chatbot Arena
Aider's Polyglot est un autre tableau de classement visant à évaluer les capacités de codage des LLM. Dans ce benchmark, les modèles sont invités à réaliser 225 exercices de codage dans des langages de programmation populaires. Codestral 25.01 a obtenu 11%, tandis que Qwen2.5-Coder-32B-Instruct a obtenu 16 %.
Source : Classement de l'Aider
Enfin, regardons les benchmarks officiels publiés par Mistral. Les résultats des tests de référence publiés montrent une nette amélioration par rapport à Codestral V1, Codellama 70B ou DeepSeek Coder 33B. Il peut être plus instructif de comparer les scores de Codestral 25.01 avec ceux du plus récent Qwen2.5-Coder-32B-Instruct (vous pouvez lire les scores de Qwen ici).
Vue d'ensemble pour Python :
Modèle |
Longueur du contexte |
HumanEval |
MBPP |
CruxEval |
LiveCodeBench |
RepoBench |
Codestral-2501 |
256k |
86.6% |
80.2% |
55.5% |
37.9% |
38.0% |
Codestral-2405 22B |
32k |
81.1% |
78.2% |
51.3% |
31.5% |
34.0% |
Codellama 70B instruire |
4k |
67.1% |
70.8% |
47.3% |
20.0% |
11.4% |
DeepSeek Coder 33B instruit |
16k |
77.4% |
80.2% |
49.5% |
27.0% |
28.4% |
DeepSeek Coder V2 lite |
128k |
83.5% |
83.2% |
49.7% |
28.1% |
20.0% |
Critères de référence pour plusieurs langues :
Modèle |
HumanEval Python |
HumanEval C++ |
HumanEval Java |
HumanEval Javascript |
Le choc de l'HumanEval |
HumanEval Typescript |
HumanEval C# |
HumanEval (moyenne) |
Codestral-2501 |
86.6% |
78.9% |
72.8% |
82.6% |
43.0% |
82.4% |
53.2% |
71.4% |
Codestral-2405 22B |
81.1% |
68.9% |
78.5% |
71.4% |
40.5% |
74.8% |
43.7% |
65.6% |
Codellama 70B instruire |
67.1% |
56.5% |
60.8% |
62.7% |
32.3% |
61.0% |
46.8% |
55.3% |
DeepSeek Coder 33B instruit |
77.4% |
65.8% |
73.4% |
73.3% |
39.2% |
77.4% |
49.4% |
65.1% |
DeepSeek Coder V2 lite |
83.5% |
68.3% |
65.2% |
80.8% |
34.2% |
82.4% |
46.8% |
65.9% |
Comment configurer Codestral 25.01 sur VS Code
Malheureusement, le modèle n'est pas à poids ouvert et vous ne pouvez pas l'exécuter localement. La bonne nouvelle est que vous pouvez accéder au modèle via l'API ou via VsCode et PyCharm gratuitement en tant qu'assistant de code.
Tout d'abord, nous avons besoin d'une clé API. Rendez-vous sur le site de La Plateformeet naviguez jusqu'à Codestral. Ici, vous pouvez générer votre clé API pour utiliser Codestral 25.01 dans votre IDE.
Je vais utiliser Codestral dans VS Code via l'extension Continue
. Vous pouvez la rechercher sur le marché des extensions et l'installer gratuitement.
Après avoir installé l'extension, cliquez sur le bouton Continuer en bas à droite de VsCode, sélectionnez Configurer les options d'autocomplétion et collez votre clé API sous Codestral. Vous pouvez maintenant utiliser Codestral comme modèle d'autocomplétion.
Une autre méthode d'utilisation du Codestral dans l'IDE consiste à dialoguer avec le modèle. Pour accéder à la fenêtre de chat, appuyez sur CTRL+L. Vous pouvez sélectionner une variété de modèles à utiliser comme modèles de chat, mais ils sont limités si vous ne fournissez pas de clé API. Pour accéder gratuitement à Codestral, cliquez sur le modèle dans la section chat et sélectionnez Add Chat model. Sélectionnez Mistral comme fournisseur, Codestral comme modèle, et collez votre clé API.
Test du Codestral 25.01
Maintenant, pour tester que tout fonctionne bien, j'ai demandé à Codestral d'écrire un simple jeu XO en Python, que le modèle a exécuté correctement en une seule fois.
Utilisation de Codestal dans la fenêtre de chat
L'une des applications les plus courantes et les plus utiles d'un LLM sur le code consiste à travailler sur des bases de code existantes. Ces bases de code peuvent être suffisamment importantes et complexes pour simuler un scénario réel à l'aide de ces modèles. Ici, je vais tester la capacité de Codestral à fonctionner avec le framework smolagents
, qui est le référentiel de Hugging Face pour la construction d'agents (pour en savoir plus, consultez ce tutoriel sur les Smolagents de Hugging Face).
Je vais cloner le dépôtJe vais cloner le dépôt, donner le dossier comme contexte au modèle, et demander à Codestral de m'aider à écrire une démo simple avec smolagents
.
Après avoir cloné le dépôt, j'ai donné la base de code complète à Codestral. Vous pouvez choisir les données, le code ou les documents à fournir au modèle en tant que contexte, en utilisant "@" dans le chat. Pour donner le contexte de l'ensemble de la base de code, l'invite serait la suivante : "@Codebase what is this codebase about" : "@Codebase de quoi parle ce codebase ?".
Initialement, lorsque j'ai demandé à Codestral d'écrire une démonstration simple de smolagents (ce qui est clairement expliqué dans le README du dépôt avec quatre lignes de code), le modèle n'a pas été en mesure de donner une réponse cohérente.
J'ai ensuite demandé au modèle d'expliquer le référentiel et ce dont il s'agit, ce qui a donné un bon résumé.
La question suivante était : "Comment faire fonctionner un agent simple avec des smolagents ? "comment faire fonctionner un agent simple avec smolagents ?" Le modèle m'a donné une bonne réponse en se basant sur le fichier README.
Lors de la troisième étape, j'ai demandé "construisez-moi un agent", ce à quoi le modèle a répondu en construisant un agent simple, conformément aux instructions de la documentation. Il était surprenant que le modèle ne soit pas en mesure de construire une démo lorsque je le lui ai demandé pour la première fois, mais il semble que le fait d'interroger d'abord le modèle sur le référentiel lui donne plus de contexte pour travailler.
Travailler sur une base de code existante avec Codestral
J'ai ensuite demandé au modèle de construire un outil agentique personnalisé pour lire les fichiers PDF sur la base de la documentation du référentiel. De manière surprenante, le code proposé contenait de nombreuses erreurs qui auraient pu être facilement évitées.
Bien que la vitesse de génération des réponses soit notable et que le modèle offre des autocomplétions productives, dans les cas plus sérieux de construction d'une application ou de travail sur une base de code existante, vous devez décomposer la tâche en morceaux beaucoup plus petits et dans un contexte spécifique pour qu'elle soit efficace.
Conclusion
Nous avons commencé cet article en présentant Codestral 25.01 et en examinant ses performances dans les benchmarks, qui démontrent qu'il s'agit d'un LLM de code solide. Nous avons ensuite montré comment configurer Codestral 25.01 dans VsCode et comment l'utiliser en action.
Même si la nouvelle version de Codestral n'est peut-être pas le meilleur LLM de codage, il est très pratique de pouvoir l'utiliser gratuitement comme assistant de code dans les IDE. L'expérience globale ressemble à celle de Cursor AImais pour ceux qui hésitent à installer Cursor ou à acheter des crédits API pour d'autres modèles, l'expérience gratuite de Codestral peut être une bonne alternative.
Étudiante en master d'intelligence artificielle et rédactrice technique en intelligence artificielle. Je partage mes connaissances sur les dernières technologies de l'IA, en rendant la recherche en ML accessible et en simplifiant les sujets complexes liés à l'IA afin que vous restiez à la pointe du progrès.
Apprenez l'IA avec ces cours !
cours
Développer des applications LLM avec LangChain
cours