Yapay Zeka Uygulamalarında Gözlemlenebilirlik: Langfuse ile LLM İzleme ve Değerlendirme
Yapay Zeka Uygulamalarında Gözlemlenebilirlik: Langfuse ile LLM İzleme ve Değerlendirme
Büyük Dil Modelleri (LLM) ile bir prototip geliştirmek günümüzde yalnızca birkaç saat, hatta birkaç dakika alıyor. OpenAI, Anthropic veya açık kaynaklı bir modeli API aracılığıyla uygulamanıza bağlayıp harika sonuçlar elde edebilirsiniz. Ancak bu uygulamayı üretim ortamına (production) taşıdığınızda işler karmaşıklaşır.
Kullanıcılar neden yavaş yanıt alıyor? Bu ayki OpenAI faturamız neden üç katına çıktı? Model nerede halüsinasyon görüyor? Hangi prompt versiyonu daha iyi performans gösteriyor?
Geleneksel yazılım izleme (monitoring) araçları, LLM'lerin olasılıksal (stochastic) ve siyah kutu yapısını analiz etmekte yetersiz kalır. İşte bu noktada Yapay Zeka Gözlemlenebilirliği (AI Observability) ve bu alanın yükselen açık kaynaklı yıldızı Langfuse devreye giriyor.
Bu yazıda, Langfuse'un ne olduğunu, LLM çağrılarınızı, token maliyetlerinizi ve gecikmeleri izleyerek üretim ortamındaki yapay zeka sistemlerinizi nasıl optimize edebileceğinizi derinlemesine inceleyeceğiz.
LLM Gözlemlenebilirliği (Observability) Nedir ve Neden Kritik?
Geleneksel yazılımlarda girdi deterministiktir: 2 + 2 her zaman 4 eder. Ancak LLM'lerde aynı girdiyi verdiğinizde her seferinde farklı bir çıktı alabilirsiniz. Üstelik bir RAG (Retrieval-Augmented Generation) mimarisi veya Ajan (Agent) sistemi kullanıyorsanız, tek bir kullanıcı sorgusu arka planda onlarca veritabanı araması ve LLM çağrısına dönüşebilir.
LLM gözlemlenebilirliği şu üç temel soruya yanıt arar:
- Ne Kadar Harcıyoruz? (Maliyet): Hangi kullanıcı, hangi özellik veya hangi prompt en çok token'ı tüketiyor?
- Ne Kadar Hızlıyız? (Gecikme/Latency): Sistemdeki darboğaz nerede? Veritabanı aramasında mı, model yanıtında mı?
- Çıktılar Ne Kadar Kaliteli? (Değerlendirme/Evaluation): Model doğru yanıt veriyor mu, yoksa halüsinasyon mu üretiyor?
Langfuse Nedir?
Langfuse, LLM tabanlı uygulamalar için özel olarak geliştirilmiş açık kaynaklı (open-source) bir gözlemlenebilirlik, izleme (tracing) ve değerlendirme platformudur.
LangChain, LlamaIndex, OpenAI SDK veya kendi özel mimarinizle sorunsuz bir şekilde entegre olan Langfuse, uygulamanızın arka planında dönen tüm LLM trafiğini şeffaf ve izlenebilir hale getirir.
Langfuse’un Öne Çıkan Temel Özellikleri
1. Detaylı İzleme ve Hata Ayıklama (Traces, Spans, Generations)
Langfuse, karmaşık LLM akışlarınızı bir ağaç yapısı (tree view) şeklinde görselleştirir. Tek bir kullanıcı isteğinin kaç adımdan geçtiğini, her adımda hangi girdilerin verildiğini ve ne tür çıktılar alındığını adım adım izleyebilirsiniz.
- Trace: Kullanıcının başlattığı tüm süreci temsil eder.
- Span: Süreç içindeki belirli bir zaman aralığını (örn. Vektör veritabanı araması) temsil eder.
- Generation: Modelin üretken bir LLM çağrısını temsil eder.
2. Otomatik Token ve Maliyet Takibi
Langfuse; OpenAI, Anthropic, Google Gemini, Hugging Face ve daha onlarca sağlayıcının fiyatlandırma modellerini bünyesinde barındırır. Uygulamanızın harcadığı input ve output token'larını anlık olarak hesaplar.
- Kullanıcı bazlı maliyet analizi yapabilirsiniz.
- Hangi prompt'un bütçenizi zorladığını görebilirsiniz.
- Farklı modellerin (örn. GPT-4o vs. Claude 3.5 Sonnet) maliyet/performans oranını kıyaslayabilirsiniz.
3. Prompt Yönetimi (Prompt Management)
Prompt'larınızı kodun içinde gömmek (hardcode etmek) yerine Langfuse üzerinde merkezi olarak yönetebilirsiniz.
- Versiyonlama: Kodunuzu değiştirmeden ve yayınlamadan (deploy etmeden) prompt'larınızı güncelleyebilirsiniz.
- A/B Testleri: Farklı prompt versiyonlarının gerçek kullanıcılar üzerindeki etkisini ölçebilirsiniz.
4. Yanıt Kalitesi ve Değerlendirme (Evaluation)
Yapay zeka sistemlerinde kaliteyi ölçmek zordur. Langfuse bu süreci kolaylaştırmak için üç farklı yöntem sunar:
- Kullanıcı Geri Bildirimi: Uygulamanızdaki başparmak yukarı/aşağı (thumbs up/down) butonlarını Langfuse'a bağlayabilirsiniz.
- Manuel Etiketleme: Ekibiniz hatalı yanıtları panel üzerinden inceleyip derecelendirebilir.
- LLM-as-a-Judge: Başka bir güçlü modeli (örneğin GPT-4) yanıtların kalitesini, doğruluğunu veya toksisitesini puanlaması için görevlendirebilirsiniz.
Langfuse Nasıl Entegre Edilir? (Python Örneği)
Langfuse'u projenize dahil etmek oldukça basittir. İşte OpenAI SDK'sı ile basit bir entegrasyon örneği:
from langfuse.openai import openai
import os
# API anahtarlarınızı tanımlayın
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-lf-..."
os.environ["LANGFUSE_SECRET_KEY"] = "sk-lf-..."
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com" # veya kendi sunucunuz
# Standart OpenAI çağrısı - Langfuse arka planda otomatik izler
response = openai.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Uzman bir yazılım mimarısın."},
{"role": "user", "content": "Langfuse nedir ve ne işe yarar?"}
],
name="langfuse-info-query", # Trace ismi
user_id="user_12345" # Maliyet takibi için kullanıcı ID'si
)
print(response.choices[0].message.content)
Bu basit kod bloğu çalıştırıldığında, Langfuse paneline şu veriler anında düşer: * Kullanılan token sayısı ve toplam harcanan cent tutarı. * Sorgunun kaç milisaniye sürdüğü (Gecikme). * Gönderilen prompt ve alınan tam yanıt.
Neden Kapalı Kaynak Alternatifler Yerine Langfuse?
Piyasada Arize Phoenix, LangSmith veya Helicone gibi harika araçlar bulunuyor. Ancak Langfuse’u öne çıkaran en büyük avantaj Açık Kaynak (Open-Source) ve Self-Host edilebilir olmasıdır.
- Veri Gizliliği ve KVKK/GDPR Uyumluğu: Müşteri verilerinizin veya hassas kurumsal verilerinizin üçüncü taraf SaaS platformlarına gitmesini istemiyorsanız, Langfuse'u kendi Docker konteynırınızda veya AWS/GCP altyapınızda barındırabilirsiniz.
- Kilitlenmeyi Önleme (No Vendor Lock-in): Verilerinizin kontrolü tamamen sizdedir. PostgreSQL tabanlı mimarisi sayesinde verilerinizi dilediğiniz gibi dışa aktarabilirsiniz.
- Zengin Entegrasyon Ekosistemi: Python, JS/TS SDK'larının yanı sıra LangChain, LlamaIndex, LiteLLM, Flowise ve Langflow gibi popüler araçlarla kutudan çıktığı haliyle entegre çalışır.
Özet: Üretim Seviyesindeki AI İçin Gözlemlenebilirlik Lüks Değil, İhtiyaçtır
Bir LLM uygulamasını yayına almak yolculuğun sonu değil, başlangıcıdır. Kullanıcıların uygulamanızla nasıl etkileşime girdiğini göremiyorsanız, bütçenizi nereye harcadığınızı bilmiyorsanız ve hatalı yanıtları tespit edemiyorsanız karanlıkta araba sürüyorsunuz demektir.
Langfuse, açık kaynaklı yapısı, güçlü izleme özellikleri, maliyet analizi ve prompt yönetim araçlarıyla yapay zeka sistemlerinizi karanlıktan çıkarıp tamamen şeffaf hale getirir.
Eğer siz de üretim ortamında güvenilir, hızlı ve maliyet-etkin LLM uygulamaları geliştirmek istiyorsanız, Langfuse'u projenize dahil etmeyi mutlaka değerlendirmelisiniz.