Mistral AI API Python Rehberi 2026: Sifirdan Yapay Zeka Gelistirme

22.04.2026 02:56 Haber
Mistral AI API Python Rehberi 2026: Sıfırdan Yapay Zeka Geliştirme | Alesta Web

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 Nedir? Modeller (What is Mistral AI? Models)

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.

2026 Mistral Model Ailesi:

Model Kullanım Amacı / Use Case Context Fiyat / Pricing
Mistral LargeFlagship, karmaşık görevler (complex tasks)128KOrta
Mistral SmallYüksek hacimli görevler (high throughput)32KDüşük
CodestralKod üretimi (code generation)32KOrta
Pixtral LargeGörüntü + metin (vision-language)128KYüksek
Mistral EmbedVektör gömme (embeddings)8KÇok Düşük
? Open-Weight Modeller / Open-Weight Models:

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 Alma (Getting Mistral AI API Key)

Adım Adım API Key Alma / Step by Step

  1. console.mistral.ai adresine gidin (go to console.mistral.ai)
  2. "Sign Up" veya "Log In" ile hesap açın (create or login account)
  3. Sol menüden "API Keys" bölümüne gelin
  4. "Create API Key" butonuna tıklayın
  5. Key'i kopyalayın ve güvenli yerde saklayın — bir daha gösterilmeyecek! (copy and save it — won't be shown again!)
⚠️ Dikkat / Warning:

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.

Environment Variable Olarak Kaydet / Save as Environment Variable

# 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!)

Python SDK Kurulumu (Python SDK Installation)

mistralai Paketi Kurulumu / Install mistralai Package

# Ö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
✅ Alesta Web İpucu:

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

Chat Completion Örneği (Chat Completion Example)

Temel Kullanım / Basic Usage

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}")

Çok Turlu Sohbet / Multi-Turn Conversation

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ı?"))

Streaming Response (Akış Yanıtı)

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

Streaming ile Chat / Chat with Streaming

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

Async Streaming (Üretim için Önerilen) / Async Streaming (Recommended for Production)

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 API (Vektör Gömme)

Embeddings, metinleri sayısal vektörlere dönüştürür. Bu vektörlerle semantik arama, benzerlik hesaplama veya RAG sistemleri kurabilirsiniz.

Embeddings Örneği / Embeddings Example

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: Kod Üretimi (Code Generation)

Codestral, Mistral'ın kod üretmeye özelleşmiş modelidir. 80+ programlama dilini destekler ve fill-in-the-middle (FIM) özelliği ile kod tamamlama yapabilir.

Codestral ile Kod Üretimi / Code Generation with Codestral

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)

Fill-in-the-Middle (FIM) ile Kod Tamamlama

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.

? Kaynaklar ve Referanslar / References

Alesta Web olarak tüm kod örneklerini test ettik (we tested all code examples).

✅ Mistral AI API Hazır! (Mistral AI API Ready!)

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:

  • ✅ mistralai SDK kurulumu: pip install mistralai
  • ✅ Chat completion, streaming, embeddings destekli
  • ✅ Codestral: 80+ dil destekli kod üretimi (80+ languages code generation)
  • ✅ Open-weight modeller self-host imkânı (self-hostable models)
  • ✅ 128K context window (Mistral Large)

Faydalı Linkler / Useful Links:

© 2026 AlestaWeb — Tüm hakları saklıdır.

WM Tools
💫

WebMaster Tools

15 Profesyonel Araç
Alesta AI
Alesta AI
Online