Vai al contenuto principale

Codestral 25.01 di Mistral: guida con esempi per VS Code

Scopri Codestral 25.01 di Mistral: funzionalità, benchmark e come configurarlo in VS Code per l'assistenza al codice.
· 8 min leggi

Scopri con l'IA

Per noi programmatori, il coding è forse una delle applicazioni più importanti degli LLM. La capacità di generare codice accurato, fare debug e “capire” correttamente il codice rende un LLM un assistente fondamentale per molti sviluppatori, insieme ai numerosi vantaggi per le aziende.

Mistral ha rilasciato di recente il suo modello più recente, Codestral 25.01, noto anche come Codestral V2—un upgrade rispetto a il loro primo modello Codestral rilasciato nel 2024. In questo articolo, recensirò Codestral 25.01, valuterò le sue prestazioni nei benchmark, ti guiderò nella configurazione e lo mostrerò in azione.

Che cos’è Codestral 25.01 di Mistral?

Citandone l’ annuncio, Codestral 25.01 è “leggero, veloce e competente in oltre 80 linguaggi di programmazione (...) ottimizzato per casi d’uso a bassa latenza e alta frequenza e supporta attività come fill-in-the-middle (FIM), correzione del codice e generazione di test”. 

Molti sviluppatori hanno usato il modello precedente, Codestral, per attività legate al codice. Codestral 25.01 è una versione aggiornata, con un tokenizer migliorato e un’architettura più efficiente che gli consente di generare codice due volte più velocemente.

Mistral non ha ancora rilasciato il modello né fornito dettagli sulla sua architettura o dimensione. Sappiamo però che ha meno di 100 miliardi di parametri e supporta una lunghezza del contesto di 256K.

Al momento della stesura di questo articolo, Codestral 25.01 è solo di pochi punti sotto la serie Claude 3.5 Sonnet nella Chatbot Arena (ex LMSYS) e solo leggermente sopra Codestral V1.

Classifiche Chatbot Arena

Fonte: Chatbot Arena

Un’altra classifica incentrata sulla valutazione delle capacità di coding degli LLM è Polyglot di Aider. In questo benchmark, ai modelli viene chiesto di completare 225 esercizi di programmazione in linguaggi popolari. Codestral 25.01 ha ottenuto l’11%, mentre Qwen2.5-Coder-32B-Instruct ha raggiunto il 16%.

Classifica Aider

Fonte: Aider leaderboard

Infine, diamo un’occhiata ai benchmark ufficiali pubblicati da Mistral. I risultati mostrano un netto passo avanti rispetto a Codestral V1, Codellama 70B o DeepSeek Coder 33B. Può essere più informativo confrontare i punteggi di Codestral 25.01 con il più recente Qwen2.5-Coder-32B-Instruct (puoi leggere i punteggi di Qwen qui).

Panoramica per Python:

Modello

Lunghezza contesto

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 instruct

4k

67,1%

70,8%

47,3%

20,0%

11,4%

DeepSeek Coder 33B instruct

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%

Benchmark per più linguaggi:

Modello

HumanEval Python

HumanEval C++

HumanEval Java

HumanEval Javascript

HumanEval Bash

HumanEval Typescript

HumanEval C#

HumanEval (media)

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 instruct

67,1%

56,5%

60,8%

62,7%

32,3%

61,0%

46,8%

55,3%

DeepSeek Coder 33B instruct

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%

Come configurare Codestral 25.01 su VS Code

Purtroppo il modello non è open-weight e non puoi eseguirlo in locale. La buona notizia è che puoi accedervi via API o tramite VsCode e PyCharm gratuitamente come assistente al codice.

Per prima cosa, ci serve una chiave API. Vai su Le Plateforme e vai su Codestral. Qui puoi generare la tua chiave API per usare Codestral 25.01 nel tuo IDE.

Interfaccia di Le Plateforme di MistralGenera la tua chiave API. (link)

Userò Codestral in VS Code tramite l’estensione Continue. Puoi cercarla nel marketplace delle estensioni e installarla gratuitamente.

Dopo aver installato l’estensione, clicca sul pulsante Continue in basso a destra in VsCode, seleziona Configure autocomplete options e incolla la tua chiave API sotto Codestral. Ora puoi usare Codestral come modello di completamento automatico.

Un altro modo per usare Codestral nell’IDE è chattare con il modello. Per accedere alla finestra della chat, premi CTRL+L. Puoi selezionare diversi modelli da usare come modelli di chat, ma senza fornire una chiave API sono limitati. Per avere accesso gratuito a Codestral, clicca sul modello nella sezione chat e seleziona Add Chat model. Seleziona Mistral come provider, Codestral come modello e incolla la tua chiave API.

Accedi a Codestral nella finestra di chat

Test di Codestral 25.01

Per verificare che tutto funzioni correttamente, ho chiesto a Codestral di scrivere un semplice gioco XO in Python, che il modello ha eseguito correttamente al primo colpo.

Uso di Codestal nella finestra di chat.

Uso di Codestal nella finestra di chat

Una delle applicazioni più comuni e utili di un LLM per il codice è lavorare su codebase esistenti. Queste codebase possono essere grandi e complesse abbastanza da simulare uno scenario reale con questi modelli. Qui testerò la capacità di Codestral di lavorare con il framework smolagents, il repository di Hugging Face per costruire agenti (scopri di più in questo tutorial su Smolagents di Hugging Face).

Clonerò il repository, fornirò la cartella come contesto al modello e chiederò a Codestral di aiutarmi a scrivere una semplice demo con smolagents.

Dopo aver clonato il repository, ho dato l’intera codebase a Codestral. Puoi scegliere quali dati, codice o documenti fornire al modello come contesto usando “@” nella chat. Per dare l’intera codebase come contesto, il prompt sarebbe: “@Codebase di cosa tratta questa codebase?”.

Inizialmente, quando ho chiesto a Codestral di scrivere una semplice demo di smolagents (che è chiaramente spiegata nel README del repository con quattro righe di codice), il modello non è riuscito a fornire una risposta coerente.

Ho poi chiesto al modello di spiegare il repository e di cosa si tratta, e ha fornito un buon riassunto.

Il prompt successivo è stato: “come si esegue un semplice agente con smolagents?” Il modello mi ha dato una buona risposta basata sul file README.

Nel terzo passaggio, ho chiesto “costruiscimi un agente”, a cui il modello ha risposto creando un agente semplice proprio come indicato dalla documentazione. È stato sorprendente che il modello non fosse in grado di costruire una demo quando gliel’ho chiesto la prima volta, ma sembra che chiedergli prima del repository gli fornisca più contesto con cui lavorare.

Lavorare su una codebase esistente con Codestral

Lavorare su una codebase esistente con Codestral

Ho poi chiesto al modello di creare uno strumento agentico personalizzato per leggere file PDF basandosi sulla documentazione del repository. Sorprendentemente, il codice suggerito conteneva diversi errori che si potevano evitare facilmente.

Sebbene la velocità di generazione delle risposte sia evidente e il modello offra completamenti produttivi, in casi più seri come la costruzione di un’applicazione o il lavoro su una codebase esistente, è necessario scomporre il compito in pezzi molto più piccoli e fornire un contesto specifico affinché renda al meglio.

Conclusione

Abbiamo iniziato questo articolo introducendo Codestral 25.01 e rivedendo le sue prestazioni nei benchmark, che dimostrano che è un solido LLM per il codice. Abbiamo poi mostrato come configurare Codestral 25.01 in VsCode e come usarlo in pratica.

Sebbene la nuova versione di Codestral non sia forse il miglior LLM per il coding, è molto comodo poterlo usare gratuitamente come assistente al codice negli IDE. L’esperienza complessiva ricorda quella di Cursor AI, ma per chi è restio a installare Cursor o acquistare crediti API di altri modelli, l’esperienza gratuita di Codestral può essere una buona alternativa.

Hesam Sheikh Hassani

Autore

Hesam Sheikh Hassani

Studente magistrale in Intelligenza Artificiale e technical writer in ambito AI. Condivido approfondimenti sulle tecnologie AI più recenti, rendo la ricerca di ML accessibile e semplifico argomenti complessi legati all’AI, per aiutarti a restare in prima linea.

Argomenti

Correlato