Kurs
Yeni yapay zeka modellerinin hızla geldiğini hissediyoruz ve Mistral AI, Devstral adlı çığır açan açık kaynak kodlama modeliyle bu heyecana katkıda bulundu. Devstral, RTX 4090 GPU’da veya 32 GB RAM’e sahip bir Mac’te yerel olarak çalıştırılabilen, yerel dağıtım ve cihaz üzerinde kullanım için erişilebilir bir Ajans odaklı kodlama büyük dil modelidir (LLM). Hızlı, doğru ve kullanıma açıktır.
Bu eğitimde, Devstral hakkında bilmeniz gereken her şeyi, başlıca özelliklerini ve onu benzersiz kılan noktaları ele alacağız. Ayrıca Mistral Chat CLI gibi araçları kullanarak Devstral’ı yerelde çalıştırmayı ve Devstral’ın ajans yeteneklerini test etmek için Mistral AI API’sini OpenHands ile entegre etmeyi öğreneceğiz.
Mistral’ın diğer araçları hakkında daha fazla bilgiyi şu ayrı kılavuzlarda bulabilirsiniz: Mistral Medium 3, Mistral OCR API ve Mistral Le Chat.
Mistral Devstral nedir?
Devstral, yazılım mühendisliği görevleri için tasarlanmış, son teknoloji bir ajans odaklı modeldir. Mistral AI tarafından All Hands AI ile işbirliği içinde geliştirilmiştir. Geniş kod tabanlarını keşfetme, birden fazla dosyayı düzenleme ve GitHub deposundaki sorunları çözme gibi gerçek dünyadaki kodlama zorluklarını çözmede mükemmeldir.
Devstral’ın SWE-Bench Verified kıyaslamasındaki performansı benzersizdir; %46,8 puanla bu kıyaslamada 1 numaralı açık kaynak model konumuna gelmiş ve önceki en iyi modelleri %6 farkla geride bırakmıştır.

Kaynak: Devstral | Mistral AI
Mistral-Small-3.1 üzerine inşa edilen Devstral, 128k bağlam penceresine sahiptir; bu sayede büyük miktarda kodu ve bağımlılığı işleyip anlayabilir. Temel modelinden farklı olarak Devstral yalnızca metin odaklıdır; ince ayar sırasında kodlama görevlerine uzmanlaştırmak için görsel kodlayıcı kaldırılmıştır.
OpenHands gibi araçlarla sorunsuz çalışabilmesi, Deepseek-V3-0324 (671B) ve Qwen3 232B-A22B gibi çok daha büyük modelleri bile geride bırakmasını sağlar.
Devstral’ın Başlıca Özellikleri
İşte Devstral’ı diğer kodlama modellerinden ayıran bazı dikkat çekici özellikler.
1. Ajans odaklı kodlama
Devstral, ajans odaklı kodlama görevlerinde üstün performans gösterecek şekilde özel olarak tasarlanmıştır; yazılım mühendisliği ajanları oluşturmak ve dağıtmak için ideal bir modeldir. Geniş kod tabanları içinde karmaşık, çok adımlı görevleri çözme becerisi, geliştiricilerin gerçek dünyadaki kodlama zorluklarını etkili bir şekilde ele almasını sağlar.
2. Hafif tasarım
Devstral’ın öne çıkan özelliklerinden biri hafif mimarisidir. Yalnızca 24 milyar parametre ile tek bir Nvidia RTX 4090 GPU üzerinde çalışabilir. Bu da onu yerel dağıtım, cihaz üzerinde kullanım ve gizlilik hassasiyetinin yüksek olduğu uygulamalar için ideal kılar.
3. Açık kaynak
Apache 2.0 lisansı altında yayınlanan Devstral, ticari kullanım için serbestçe kullanılabilir. Geliştiriciler ve kuruluşlar, herhangi bir kısıtlama olmaksızın onu dağıtabilir, değiştirebilir ve hatta tescilli ürünlerine entegre edebilir.
4. Genişletilmiş bağlam penceresi
Devstral etkileyici bir 128k bağlam penceresine sahiptir; tek bir etkileşimde çok büyük miktarda kodu ve talimatı işleyip anlamasına olanak tanır. Bu da onu büyük kod tabanlarıyla çalışma ve karmaşık programlama sorunlarını çözme konusunda özellikle etkili kılar.
5. Gelişmiş belirteçleyici
Devstral, 131k sözcük dağarcığına sahip bir Tekken belirteçleyici kullanır; bu sayede kod ve metin girdilerini hassasiyet ve verimlilikle işleyebilir. Bu belirteçleyici, modelin yazılım mühendisliği görevlerine uyarlanmış, doğru ve bağlamı gözeten yanıtlar üretme becerisini artırır.
Devstral ile Başlarken
Devstral, Hugging Face, Ollama, Kaggle, Unsloth ve LM Studio gibi platformlardan ücretsiz indirilebilir. Geliştiriciler ayrıca API üzerinden devstral-small-2505 adıyla erişebilir; rekabetçi fiyatlandırma: milyon başına 0,10 $ giriş belirteci ve milyon başına 0,30 $ çıkış belirteci.
Bu kılavuzda iki temel iş akışını ele alacağız:
- Mistral çıkarımı kullanarak Devstral’ı yerelde çalıştırma.
- Makine öğrenimi projeleri oluşturmak için Devstral’ı OpenHands ile entegre etme.
Devstral’ı yerelde çalıştırma
Devstral’ı yerelde çalıştırmak için GPU destekli bir Runpod örneği kullanacağız, modeli Hugging Face’ten indireceğiz ve mistral-chat CLI aracıyla etkileşime geçeceğiz.
1. Pod’u 100 GB depolama ve A100 SXM GPU ile kurun ve JupyterLab örneğini başlatın.

2. Gerekli bağımlılıkları kurmak için bir Jupyter Notebook’ta aşağıdaki komutları çalıştırın:
%%capture
%pip install mistral_inference --upgrade
%pip install huggingface_hub
3. Model dosyalarını, belirteçleyiciyi ve parametre yapılandırmasını indirmek için Hugging Face Hub’ı kullanın.
from huggingface_hub import snapshot_download
from pathlib import Path
mistral_models_path = Path.home().joinpath('mistral_models', 'Devstral')
mistral_models_path.mkdir(parents=True, exist_ok=True)
snapshot_download(repo_id="mistralai/Devstral-Small-2505", allow_patterns=["params.json", "consolidated.safetensors", "tekken.json"], local_dir=mistral_models_path)
4. JupyterLab’de bir terminal açın ve mistral-chat CLI’ını başlatmak için aşağıdaki komutu çalıştırın:
mistral-chat $HOME/mistral_models/Devstral --instruct --max_tokens 300

5. Devstral’ı test etmek için aşağıdaki istemi deneyin:
“Python kullanarak sıfırdan bir REST API oluşturun.”

Model, Flask kullanarak bir REST API oluşturmak için adım adım ayrıntılı ve doğru bir yanıt üretti.
Creating a REST API from scratch using Python involves several steps. We'll use the Flask framework, which is lightweight and easy to get started with. Below is a step-by-step guide to creating a simple REST API.
### Step 1: Install Flask
First, you need to install Flask. You can do this using pip:
```bash
pip install Flask
```
### Step 2: Create the Flask Application
Create a new Python file, for example, `app.py`, and set up the basic structure of your Flask application.
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
# Sample data
items = [
{"id": 1, "name": "Item 1", "description": "This is item 1"},
{"id": 2, "name": "Item 2", "description": "This is item 2"}
]
@app.route('/items', methods=['GET'])
def get_items():
return jsonify(items)
@app.route('/items/<int:item_id>', methods=['GET'])
def get_item(item_id):
item = next((item for item in items if item["id"] == item_id), None)
if item:
return jsonify(item)
return jsonify({"error": "Item not found"}), 404
@app.route('/items', methods=['POST'])
def create_item():
new_item = request.get_json()
new_item["id"] = len(items
=====================
Devstral’ı OpenHands ile çalıştırma
Devstral modeline Mistal AI API’si aracılığıyla kolayca erişebilirsiniz. Bu projede, sıfırdan makine öğrenimi projemizi oluşturmak için Devstral API’sini OpenHands ile birlikte kullanacağız. OpenHands, kodlama projenizi oluşturup tamamlamak için yapay zeka yazılım mühendisi görevi gören açık kaynaklı bir platformdur.
1. Mistral AI platformunu ziyaret edin ve API anahtarınızı oluşturun.

2. Hesabınıza Banka/Kredi kartı ile 5 $ yükleyin.
3. Aşağıdaki betiği çalıştırarak
- API Anahtarını bir ortam değişkeni olarak ayarlayın.
- OpenHands Docker imajını çekin.
- Yapılandırma dosyası oluşturun.
- OpenHands uygulamasını bir Docker konteynerinde başlatın.
# Store the API key securely as an environment variable (avoid hardcoding in scripts)
export MISTRAL_API_KEY=<MY_KEY>
# Pull the runtime image for OpenHands
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
# Create a configuration directory and settings file for OpenHands
mkdir -p ~/.openhands-state
cat << EOF > ~/.openhands-state/settings.json
{
"language": "en",
"agent": "CodeActAgent",
"max_iterations": null,
"security_analyzer": null,
"confirmation_mode": false,
"llm_model": "mistral/devstral-small-2505",
"llm_api_key": "${MISTRAL_API_KEY}",
"remote_runtime_resource_factor": null,
"github_token": null,
"enable_default_condenser": true
}
EOF
# Run the OpenHands application in a Docker container with enhanced settings
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
-e LOG_ALL_EVENTS=true \
-e TZ=$(cat /etc/timezone 2>/dev/null || echo "UTC") \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
--memory="4g" \
--cpus="2" \
docker.all-hands.dev/all-hands-ai/openhands:0.39
Web uygulaması şu adreste erişilebilir olacaktır: http://0.0.0.0:3000
0.39-nikolaik: Pulling from all-hands-ai/runtime
Digest: sha256:126448737c53f7b992a4cf0a7033e06d5289019b32f24ad90f5a8bbf35ce3ac7
Status: Image is up to date for docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
0.39: Pulling from all-hands-ai/openhands
Digest: sha256:326ddb052763475147f25fa0d6266cf247d82d36deb9ebb95834f10f08e4777d
Status: Image is up to date for docker.all-hands.dev/all-hands-ai/openhands:0.39
Starting OpenHands...
Running OpenHands as root
10:34:24 - openhands:INFO: server_config.py:50 - Using config class None
INFO: Started server process [9]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:3000 (Press CTRL+C to quit)
OpenHands’te Devstral’ı test etme
1. Bir proje oluşturmaya başlamak için “Launch from Scratch” düğmesine tıklayın.

2. Yeni arayüze yönlendirileceksiniz; burada bir sohbet arayüzü ve geliştirme çıkarımı için diğer sekmeler bulunur.

3. İstemleri vermek için sohbet arayüzünü kullanın. Birkaç saniye içinde Devstral proje için dizinler, dosyalar ve kod oluşturmaya başlayacaktır.

4. Oluşturulan kodu görüntülemek, düzenlemek ve çalıştırmak için VS Code sekmesine geçin.

5. Devstral o kadar iyi ki uygulamayı başlattı, web uygulamasında test etti ve ayrıca web sayfasında gezmek için web ajanını kullandı.

Proje tamamlandığında, ekibinizle paylaşmak için GitHub’a gönderin.
Sonuç
Devstral, açık kaynak topluluğu için harika bir haber. Modeli yerelde çalıştırmak için OpenHands’i Ollama veya VLLM ile kullanabilir ve ardından OpenHands arayüzü üzerinden etkileşime geçebilirsiniz. Ayrıca, Devstral’ı uzantılar aracılığıyla kod düzenleyicinize entegre edebilirsiniz; bu da onu son derece etkili bir seçenek haline getirir.
Bu eğitimde, bir ajans odaklı kodlama modeli olan Devstral’ı inceledik ve onu yerelde çalıştırıp OpenHands ile kullanarak yeteneklerini test ettik. Sonuçlar etkileyiciydi. Devstral hızlı, son derece doğru ve karmaşık görevleri gerçekleştirmek için ajanları çağırmada üstün. Gerçek dünyadaki yazılım mühendisliği zorluklarını hız ve hassasiyetle ele alma becerisi, onu geliştiriciler için öne çıkan bir tercih kılıyor.
Ajans odaklı yapay zekâ hakkında blog yazımızla daha fazla bilgi edinebilir ve LangChain ile Ajans Odaklı Sistemler Tasarlama adlı kursumuzla uygulamalı deneyim kazanabilirsiniz.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

