Ulaşım
- Adres:2342 Sk, İpekyol, İpek Ap 49A, 63250 Haliliye/Şanlıurfa
- Telefon:
0542 315 45 37 - eMail: info@alestaweb.com
Mistral AI, Fransız yapay zeka şirketi olarak 2026'da OpenAI ve Anthropic'e güçlü bir rakip haline geldi. Mistral Large'ın 128K context window'u, Codestral'ın kod üretim kalitesi ve açık ağırlıklı modellerin self-host imkânı onu öne çıkarıyor. Alesta Web olarak Mistral AI API'yi Python ile nasıl kullanırsınız, hangi model ne zaman seçilmeli ve gerçek kod örnekleri neler — hepsini bu rehberde ele aldık. Yani bu hem Mistral AI Python tutorial hem de model seçim rehberi olarak kullanabilirsiniz.
Mistral AI, 2023'te Paris'te kurulan ve kısa sürede AI dünyasının en önemli oyuncularından biri haline gelen bir yapay zeka şirketidir. Hem kapalı kaynaklı güçlü modeller hem de açık ağırlıklı (open-weight) modeller sunmasıyla dikkat çekiyor.
| Model | Kullanım Amacı / Use Case | Context | Fiyat / Pricing |
|---|---|---|---|
| Mistral Large | Flagship, karmaşık görevler (complex tasks) | 128K | Orta |
| Mistral Small | Yüksek hacimli görevler (high throughput) | 32K | Düşük |
| Codestral | Kod üretimi (code generation) | 32K | Orta |
| Pixtral Large | Görüntü + metin (vision-language) | 128K | Yüksek |
| Mistral Embed | Vektör gömme (embeddings) | 8K | Çok Düşük |
Mistral 7B, Mixtral 8x7B gibi açık ağırlıklı modelleri Ollama, Hugging Face veya kendi sunucunuzda ücretsiz çalıştırabilirsiniz. API maliyeti olmadan local inference yapabilirsiniz (free local inference).
API key'inizi asla kaynak kodunuza (source code) yazmayın! Her zaman environment variable olarak saklayın (always use environment variables). GitHub'a yüklenmiş API key'ler otomatik taranıp devre dışı bırakılır.
# Linux/macOS
export MISTRAL_API_KEY="your_api_key_here"
# Windows (PowerShell)
$env:MISTRAL_API_KEY = "your_api_key_here"
# .env dosyasına kaydet (ya da .env file)
MISTRAL_API_KEY=your_api_key_here
# .gitignore'a .env ekleyin! (add .env to .gitignore!)
# Önce sanal ortam oluşturun (best practice)
# First create a virtual environment
python -m venv mistral-env
source mistral-env/bin/activate # Linux/macOS
# mistral-env\Scripts\activate # Windows
# mistralai SDK'yı kurun / Install mistralai SDK
pip install mistralai
# Versiyon kontrolü / Check version
pip show mistralai
# python-dotenv ile .env desteği (optional)
pip install python-dotenv
Mistral'ın Python SDK'sı (mistralai) hem senkron hem asenkron kullanımı destekliyor. Production'da async kullanımı önerilir — özellikle yüksek hacimli isteklerde büyük fark yaratır (supports both sync and async).
import os
from mistralai import Mistral
# Client başlat / Initialize client
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Chat completion isteği / Chat completion request
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{
"role": "system",
"content": "Sen Alesta Web'in yapay zeka asistanısın. "
"Teknik soruları Türkçe ve İngilizce olarak yanıtlıyorsun."
},
{
"role": "user",
"content": "Python'da liste comprehension nasıl kullanılır?"
}
]
)
# Yanıtı al / Get response
print(response.choices[0].message.content)
print(f"Kullanılan token / Tokens used: {response.usage.total_tokens}")
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Konuşma geçmişi tut / Keep conversation history
conversation_history = [
{"role": "system", "content": "Sen yardımcı bir asistansın."}
]
def chat(user_message: str) -> str:
conversation_history.append({
"role": "user",
"content": user_message
})
response = client.chat.complete(
model="mistral-small-latest", # Düşük maliyetli (low cost)
messages=conversation_history
)
assistant_msg = response.choices[0].message.content
conversation_history.append({
"role": "assistant",
"content": assistant_msg
})
return assistant_msg
# Kullanım / Usage
print(chat("Merhaba! Python öğrenmek istiyorum."))
print(chat("Değişkenlerden başlayalım mı?"))
Uzun yanıtları beklemek yerine karakter karakter ekranda görmek için streaming kullanın — kullanıcı deneyimini ciddi ölçüde iyileştirir (greatly improves user experience).
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Streaming response
with client.chat.stream(
model="mistral-large-latest",
messages=[{"role": "user", "content": "Kubernetes nedir? Detaylı anlat."}]
) as stream:
for event in stream:
if event.data.choices:
delta = event.data.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
print() # Yeni satır / New line
import asyncio
import os
from mistralai import Mistral
async def stream_response(prompt: str):
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
async with client.chat.stream_async(
model="mistral-large-latest",
messages=[{"role": "user", "content": prompt}]
) as stream:
async for event in stream:
if event.data.choices:
delta = event.data.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
asyncio.run(stream_response("Docker Compose nasıl kullanılır?"))
Embeddings, metinleri sayısal vektörlere dönüştürür. Bu vektörlerle semantik arama, benzerlik hesaplama veya RAG sistemleri kurabilirsiniz.
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Metinleri vektöre dönüştür / Convert texts to vectors
texts = [
"Alesta Web yazılım geliştirme hizmetleri sunar.",
"Python programlama dili veri biliminde kullanılır.",
"Docker container yönetimi için kullanılan bir araçtır."
]
response = client.embeddings.create(
model="mistral-embed",
inputs=texts # Dikkat: 'input' değil 'inputs' (Note: 'inputs' not 'input')
)
# Her metnin vektörü 1024 boyutlu
for i, embedding in enumerate(response.data):
print(f"Metin {i+1} vektör boyutu / Vector dimension: {len(embedding.embedding)}")
# Çıktı: 1024
# Benzerlik hesaplama / Similarity calculation
import numpy as np
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
vec1 = response.data[0].embedding
vec2 = response.data[1].embedding
similarity = cosine_similarity(vec1, vec2)
print(f"Benzerlik skoru / Similarity score: {similarity:.4f}")
Codestral, Mistral'ın kod üretmeye özelleşmiş modelidir. 80+ programlama dilini destekler ve fill-in-the-middle (FIM) özelliği ile kod tamamlama yapabilir.
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Python fonksiyon üretimi / Generate Python function
response = client.chat.complete(
model="codestral-latest",
messages=[
{
"role": "user",
"content": """
Python'da aşağıdaki fonksiyonu yaz:
- Input: Liste ve hedef sayı
- Output: Listede hedef sayının indeksini döndür
- Eğer yoksa -1 döndür
- Type hints kullan
"""
}
],
temperature=0.1 # Düşük: daha deterministik kod (Low: more deterministic code)
)
print(response.choices[0].message.content)
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Kodun başını ve sonunu verin, ortasını Codestral tamamlasın
# Provide start and end, Codestral fills the middle
response = client.fim.complete(
model="codestral-latest",
prompt="def calculate_fibonacci(n: int) -> int:\n ",
suffix="\n return result"
)
print(response.choices[0].message.content)
Alesta Web deneyimimize göre Codestral, Python ve JavaScript kod üretiminde GPT-4o Mini ile kıyaslanabilir kalitede sonuç veriyor ve genellikle daha ekonomik.
Alesta Web olarak tüm kod örneklerini test ettik (we tested all code examples).
Mistral AI, 2026'da AI API pazarının vazgeçilmez oyuncularından biri. Özellikle Avrupa merkezli veri gizliliği gereksinimleri için güçlü bir OpenAI alternatifi. Alesta Web olarak Codestral'ı kod asistanı olarak, Mistral Small'ı yüksek hacimli işlemler için öneriyoruz.
Özet / Summary:
pip install mistralaiFaydalı Linkler / Useful Links:
© 2026 AlestaWeb — Tüm hakları saklıdır.