Ana içeriğe geç

Mistral'ın Codestral 25.01'i: VS Code Örnekleriyle Bir Rehber

Mistral'ın Codestral 25.01 modeli hakkında; yetenekleri, kıyaslamaları ve VS Code'da kod asistanı olarak nasıl kurulacağı dâhil bilgi edinin.
· 8 dk. oku

Yapay Zeka ile Keşfedin

Biz programcılar için, LLM'lerin belki de en önemli uygulamalarından biri kodlamadır. Doğru kod üretebilme, hata ayıklayabilme ve kodu doğru şekilde “anlama” becerisi, kurumsal düzeyde sunduğu pek çok faydanın yanı sıra bir LLM'i birçok programcı için kilit bir asistan hâline getirir.

Mistral kısa süre önce en yeni modellerini, Codestral 25.01’i (Codestral V2 olarak da bilinir) yayımladı—2024’te çıkan ilk Codestral modellerinin bir yükseltmesi. Bu yazıda Codestral 25.01’i inceleyecek, kıyaslamalardaki performansını değerlendirecek, kurulum adımlarında size rehberlik edecek ve modelin eylemde nasıl çalıştığını göstereceğim.

Mistral’ın Codestral 25.01’i Nedir?

Mistral’ın duyurusundan alıntı yapmak gerekirse, Codestral 25.01 “hafif, hızlı ve 80'den fazla programlama dilinde yetkin (...) düşük gecikmeli, yüksek frekanslı kullanım senaryoları için optimize edilmiş olup fill-in-the-middle (FIM), kod düzeltme ve test üretimi gibi görevleri destekler.” 

Pek çok geliştirici önceki modeli, Codestral’i kodla ilgili görevlerde kullandı. Codestral 25.01, geliştirilmiş bir belirteçleyici (tokenizer) ve iki kat daha hızlı kod üretimini mümkün kılan daha verimli bir mimariyle yükseltilmiş bir sürüm.

Mistral henüz modeli yayımlamadı ve mimarisi ya da boyutuyla ilgili ayrıntı paylaşmadı. Ancak 100 milyar parametreden az olduğunu ve 256K içerik penceresini (context length) desteklediğini biliyoruz.

Bu yazının kaleme alındığı tarihte, Codestral 25.01 Claude 3.5 Sonnet serisinin Chatbot Arena’sında (eski adıyla LMSYS) sadece birkaç puan gerisinde ve Codestral V1’in ise biraz üzerinde yer alıyor.

Chatbot Arena rankings

Kaynak: Chatbot Arena

LLM’lerin kodlama yeteneklerini değerlendirmeye odaklanan bir başka liderlik tablosu Aider’ın Polyglot’u. Bu kıyaslamada modellere popüler programlama dillerinde 225 kodlama alıştırmasını tamamlama komutu veriliyor. Codestral 25.01 %11 puan alırken, Qwen2.5-Coder-32B-Instruct %16’ya ulaştı.

Aider leaderboard

Kaynak: Aider leaderboard

Son olarak, Mistral tarafından yayımlanan resmî kıyaslamalara bakalım. Açıklanan skorlar, Codestral V1, Codellama 70B veya DeepSeek Coder 33B’ye kıyasla belirgin bir ilerlemeyi gösteriyor. Codestral 25.01’in skorlarını, daha güncel olan Qwen2.5-Coder-32B-Instruct ile karşılaştırmak daha bilgilendirici olabilir (Qwen’in skorlarını buradan okuyabilirsiniz).

Python için genel görünüm:

Model

İçerik penceresi

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

Birden çok dil için kıyaslamalar:

Model

HumanEval Python

HumanEval C++

HumanEval Java

HumanEval Javascript

HumanEval Bash

HumanEval Typescript

HumanEval C#

HumanEval (ortalama)

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

Codestral 25.01 VS Code’da Nasıl Kurulur

Ne yazık ki model açık ağırlıklı değil ve yerelde çalıştırılamıyor. İyi haber şu ki, modele API üzerinden veya VsCode ve PyCharm içinde ücretsiz bir kod asistanı olarak erişebilirsiniz.

Öncelikle bir API anahtarına ihtiyacımız var. Le Plateforme’a gidin ve Codestral bölümüne ilerleyin. Burada, IDE’nizde Codestral 25.01’i kullanmak için API anahtarınızı oluşturabilirsiniz.

UI for Mistral's Le PlateformeGenerate your API key. (link)

Ben Codestral’ı VS Code’da Continue uzantısı üzerinden kullanacağım. Uzantı pazarında aratıp ücretsiz kurabilirsiniz.

Uzantıyı kurduktan sonra, VsCode’un sağ alt kısmındaki Continue düğmesine tıklayın, Configure autocomplete options seçeneğini belirleyin ve API anahtarınızı Codestral bölümüne yapıştırın. Artık Codestral’ı otomatik tamamlama modeliniz olarak kullanabilirsiniz.

Codestral’ı IDE’de kullanmanın bir başka yolu da modelle sohbet etmektir. Sohbet penceresine erişmek için CTRL+L tuşlarına basın. Sohbet modeli olarak kullanabileceğiniz çeşitli modeller seçebilirsiniz, ancak API anahtarı sağlamadan bunlar sınırlıdır. Codestral’a ücretsiz erişmek için sohbet bölümünde model adına tıklayıp Add Chat model seçeneğini belirleyin. Sağlayıcı olarak Mistral’ı, model olarak Codestral’ı seçin ve API anahtarınızı yapıştırın.

Access Codestral in chat window

Codestral 25.01’i Test Etme

Şimdi, her şeyin sorunsuz çalıştığını test etmek için Codestral’dan Python’da basit bir XO oyunu yazmasını istedim ve model bunu tek seferde doğru şekilde gerçekleştirdi.

Using Codestal in chat window.

Sohbet penceresinde Codestal kullanımı

Bir kod LLM’inin en yaygın ve faydalı kullanım alanlarından biri, mevcut kod tabanları üzerinde çalışmaktır. Bu kod tabanları, bu modellerle gerçek dünya senaryosunu canlandıracak kadar büyük ve karmaşık olabilir. Burada, Hugging Face’in aracı (agent) geliştirme deposu olan smolagents çerçevesiyle çalışma becerisini test edeceğim (bu eğitimde Hugging Face’in Smolagents’i hakkında daha fazla bilgi edinebilirsiniz).

Depoyu klonlayacağım, klasörü modele bağlam (context) olarak vereceğim ve Codestral’dan smolagents ile basit bir demo yazmama yardım etmesini isteyeceğim.

Depoyu klonladıktan sonra tüm kod tabanını Codestral’a verdim. Sohbette “@” kullanarak modelin bağlamına hangi veri, kod veya belgeleri vereceğinizi seçebilirsiniz. Tüm kod tabanını bağlam olarak vermek için istem şu şekilde olur: “@Codebase bu kod tabanı ne hakkında?”

Başlangıçta, Codestral’dan smolagents’in basit bir demosunu yazmasını istediğimde (deponun README’sinde dört satır kodla açıkça anlatılıyor), model tutarlı bir yanıt veremedi.

Ardından modelden depoyu ve ne hakkında olduğunu açıklamasını istedim; bu kez iyi bir özet sundu.

Bir sonraki istemim şuydu: “smolagents ile basit bir ajanı nasıl çalıştırabilirsiniz?” Model README dosyasına dayanarak iyi bir yanıt verdi.

Üçüncü adımda “bana bir ajan oluştur” dedim; model de belgelerde anlatıldığı gibi basit bir ajan oluşturdu. İlk sorduğumda bir demo oluşturamaması şaşırtıcıydı; ancak önce modelden depo hakkında bilgi istemenin, çalışması için daha fazla bağlam sağladığı anlaşılıyor.

Working on existing codebase with Codestral

Codestral ile mevcut bir kod tabanı üzerinde çalışma

Daha sonra modelden, deponun belgelerine dayanarak PDF dosyalarını okuyan özel bir araçsal (agentic) araç oluşturmasını istedim. Şaşırtıcı biçimde, önerilen kod kolayca kaçınılabilecek birden fazla hata içeriyordu.

Yanıt üretme hızı fark edilir düzeyde ve model verimli otomatik tamamlama önerileri sunuyor olsa da, bir uygulama geliştirme ya da mevcut bir kod tabanı üzerinde çalışma gibi daha ciddi durumlarda, teslim edebilmesi için görevi çok daha küçük parçalara ve belirli bağlamlara bölmeniz gerekiyor.

Sonuç

Bu yazıya Codestral 25.01’i tanıtarak ve kıyaslamalardaki performansını inceleyerek başladık; sonuçlar onun güçlü bir kod LLM’i olduğunu gösteriyor. Ardından Codestral 25.01’in VsCode’da nasıl kurulacağını ve uygulamada nasıl kullanılacağını gösterdik.

Codestral’ın yeni sürümü en iyi kodlama LLM’i olmayabilir; ancak IDE’lerde ücretsiz bir kod asistanı olarak kullanılabilmesi oldukça pratik. Genel deneyim Cursor AI’ya benziyor; ancak Cursor’ı kurmaya çekinen veya diğer modellerin API kredilerini satın almak istemeyenler için Codestral’ın ücretsiz deneyimi iyi bir alternatif olabilir.

Hesam Sheikh Hassani

Yazar

Hesam Sheikh Hassani

Yapay Zeka alanında yüksek lisans öğrencisi ve yapay zeka teknik yazarı. En yeni yapay zeka teknolojilerine dair içgörüler paylaşıyorum, ML araştırmalarını erişilebilir kılıyor ve sizi ön planda tutmak için karmaşık YZ konularını sadeleştiriyorum.

Konular

İlgili