Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
LLM'lerde Embedding ve Benzerlik: Metni Anlamına Göre Aramak
Embedding nedir, cosine similarity nasıl hesaplanır? nomic-embed-text ile 768 boyutlu vector'ler üretiyor, C# ve TypeScript'te elle cosine similarity yazıyor, bellekte küçük bir semantic search kurup anahtar kelime aramasıyla karşılaştırıyoruz. Olumsuz cümle tuzağı ve Türkçe sorgularla sınırlar gerçek puanlarla.
LLM ve RAG: Modelin Bilmediği Veriyle Cevap Vermek
gemma3:4b'ye kitapçının iade süresini sorunca kendinden emin bir şekilde 30 gün dedi; doğrusu 21. Politikaları chunk'lara bölüyor, nomic-embed-text ile indeksliyor, en yakın parçaları prompt'a koyuyor ve modele bağlamda olmayanı bilmediğini söyletiyoruz. C#'ta bellekte minimal bir RAG ve sınırları.
LLM Halüsinasyonu ve Güvenilirlik: Kaynak Göster, Doğrula, Ölç
gemma3:4b'ye var olmayan bir romanın yazarını sorunca kendinden emin bir ad ve yıl uydurdu. Halüsinasyonun neden olduğuna bakıyor, cevabı structured output ile kaynak göstermeye zorluyor, kaynakları kodla doğruluyor ve on soruluk bir golden set ile üç yaklaşımı sayılarla karşılaştırıyoruz.
LLM Maliyeti, Gecikme ve Model Seçimi: Token'dan Faturaya
Token sayısından istek başına ve aylık maliyeti hesaplıyor, gecikmeyi yükleme, girdi işleme ve çıktı üretimi olarak üçe ayırıyoruz. gemma3:4b ile 12b'yi gerçek tokens/s ölçümüyle karşılaştırıyor, Q4_K_M'nin ne demek olduğunu tensor tiplerine bakarak görüyor, Microsoft.Extensions.AI ile cevapları cache'liyor ve yerel ile bulut arasındaki kararı tartışıyoruz.
Sağlayıcıdan Bağımsız LLM Kodu: IChatClient, OpenAI Uyumlu /v1 ve DI
IChatClient soyutlamasıyla aynı kodu Ollama'nın kendi API'si ve OpenAI uyumlu /v1 endpoint'i üzerinden çalıştırıyor, sağlayıcıyı yapılandırmadan ve ortam değişkeniyle değiştiriyoruz. ASP.NET Core minimal API'ye DI ile bağlıyor, API anahtarlarını user secrets ve ortam değişkenleriyle saklıyor, TypeScript'te openai paketiyle aynı fikri kuruyor ve soyutlamanın sınırlarına bakıyoruz.
Transformer'dan ChatGPT'ye: LLM'lerin Doğuşu (2017–2022)
2017'deki "Attention Is All You Need" makalesinden ChatGPT'nin çıkışına kadar bugünkü LLM'leri mümkün kılan adımlar: Transformer, GPT-1 ve BERT ile ön eğitim, GPT-2'nin aşamalı yayını, ölçeklenme yasaları ve GPT-3, InstructGPT ve RLHF. Her adımın serideki hangi kavramın kökü olduğunu ve geliştirici için ne değiştirdiğini görüyoruz.
2023'ten Bugüne LLM'ler: Open-Weight Modeller, Uzun Bağlam ve Reasoning
GPT-4'ten bugüne LLM dünyasının doğrulanmış tarihlerle özeti: Llama, Mistral, Qwen ve Gemma ile open-weight modellerin yükselişi, context window'un 2.048 token'dan milyon token'a büyümesi, görüntü okuyan modeller ve o1, DeepSeek-R1 ile gelen reasoning modelleri. Open-weight ile açık kaynak farkını ve neden bir model sıralaması vermediğimizi de konuşuyoruz.
LLM API'lerinin Evrimi: Completions'tan Tool Calling, Structured Outputs ve MCP'ye
Metni sürdüren ilk API'den chat biçimine, function calling'den JSON mode ve structured outputs'a, reasoning parametrelerinden Model Context Protocol'e ve agent'lara kadar LLM API'lerinin doğrulanmış tarihlerle evrimi. Her adımın serideki hangi örneğe karşılık geldiğini görüyor ve serinin sonunda sıradaki yapay zeka serilerine köprü kuruyoruz.