Accéder au contenu principal

Codestral de Mistral 25.01 : Un guide avec des exemples de code VS

Découvrez le Codestral 25.01 de Mistral, y compris ses capacités, ses références et la manière de le configurer dans VS Code pour l'assistance au code.
Actualisé 22 janv. 2025  · 8 min de lecture

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.

Classement de Chatbot Arena

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 %.

Classement de l'Aider

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.

UI pour Le Plateforme de MistralGénérez votre clé API. (lien)

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.

Accéder au Codestral dans la fenêtre de chat

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.

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 la base de code existante avec Codestral

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.


Hesam Sheikh Hassani's photo
Author
Hesam Sheikh Hassani
LinkedIn
Twitter

É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.

Sujets

Apprenez l'IA avec ces cours !

cursus

Développer des applications d'IA

23 heures hr
Apprenez à créer des applications alimentées par l'IA avec les derniers outils de développement d'IA, notamment l'API OpenAI, Hugging Face et LangChain.
Afficher les détailsRight Arrow
Commencer le cours
Certification disponible

cours

Développer des applications LLM avec LangChain

3 hr
12.9K
Découvrez comment créer des applications alimentées par l'IA en utilisant des LLM, des invites, des chaînes et des agents dans LangChain.
Voir plusRight Arrow