LangChain
LangChain, değiştirilebilir modeller, araçlar, getiriciler ve ara katman yazılımlarıyla LLM uygulamaları ve aracıları oluşturmaya yönelik açık kaynaklı bir çatıdır.
LangChain, büyük dil modelleri (LLM'ler) üzerine yapay zekâ ajanları ve uygulamalar geliştirmeye yönelik açık kaynaklı bir çerçevedir. Her model sağlayıcısına iletiler, sohbet modelleri, araçlar ve alıcılar için aynı arayüzü sunar; böylece bir uygulama, model adını değiştirerek bir sağlayıcının modelinden diğerine geçebilir. Ayrıca kullanıma hazır ajan döngüleri ve vektör depoları, belge yükleyicileri ve API'lerle yüzlerce entegrasyon sağlar. Harrison Chase, ChatGPT'nin piyasaya sürülmesinden haftalar önce, Ekim 2022'de LangChain'i açık kaynaklı bir Python projesi olarak yayımladı. Proje, istemleri, bilgi erişimini ve model çağrılarını üretken yapay zekâ uygulamalarında birleştirmek için en yaygın kullanılan araç takımlarından biri oldu. LangChain 1.0 ve LangGraph 1.0, 22 Ekim 2025'te birlikte yayımlandı ve 2.0 sürümüne kadar geriye dönük uyumsuz değişiklik yapılmayacağı taahhüt edildi.
LangChain Ekosistemi#
Bu ad artık Python ve JavaScript'te bulunan bir paket ailesini kapsıyor:
- langchain: Modeli, araç listesini ve sistem istemini alıp çalışan bir ajan döndüren
create_agentmerkezli ajan çerçevesi. - langchain-core ve entegrasyonlar: Sohbet modelleri, iletiler, gömme vektörleri, alıcılar ve araçlar için standart arayüzlerin yanı sıra bunları uygulayan langchain-openai ve langchain-anthropic gibi sağlayıcı paketleri.
- LangGraph: LangChain ajanlarının üzerinde çalıştığı daha alt düzey çalışma zamanı. Bir programı paylaşılan durum üzerinde çalışan adımların grafiği olarak modeller ve bu durumu her adımdan sonra denetim noktasına kaydedebilir; böylece uzun görevler yeniden başlatmalardan etkilenmez ve insan onayı için duraklatılabilir.
- LangSmith: Gözlemlenebilirlik izleri, veri kümeleri üzerinde ajan değerlendirmesi ve ajan dağıtımı için barındırılan platform.
Klasik LangChain uygulamaları zincirlerden oluşuyordu: Kullanıcının girdisiyle doldurulan bir istem şablonu, bir model çağrısı ve bir çıktı ayrıştırıcısı; bunlar istem zincirlemede olduğu gibi boru sözdizimiyle birleştiriliyordu. En yaygın zincir olan bilgi erişimiyle artırılmış üretim (RAG), belgeleri yükler, parçalara böler, bu parçaların gömme vektörlerini bir vektör veritabanında saklar ve her soruyla en iyi eşleşen parçaları modelin bağlam penceresine ekler.
LangChain Ajanı Nasıl Çalışır#
create_agent ile oluşturulan bir ajan, model çağrıları ve araç çağrılarından oluşan bir döngüyü tekrarlar; her ajan çatısının çalıştırdığı aynı işlev çağırma döngüsünü kullanır. Ara katman yazılımları, modelin çevresinde neler olacağını değiştirmek için her adıma bağlanır: Yerleşik ara katman yazılımları uzun geçmişleri özetler, kişisel verileri gizler ve seçili araçlar çalıştırılmadan önce insan onayı için duraklatır.
LangChain Ajanına Görme Yeteneği Kazandırma#
LangChain'in @tool dekoratörü, bir Python işlevini araca dönüştürür; bağımsız değişken türlerini işlev imzasından, açıklamayı ise belge dizgesinden alır. Ultralytics YOLO26 modelini bu şekilde sarmalamak, ajana nesne algılama yeteneği kazandırır. Results.summary() her algılamanın sınıf adını, güven değerini ve kutusunu modelin okuyabileceği veriler olarak döndürür:
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# LangChain'in imzadan ve belge dizgesinden türettiği şema; modele iletildiği biçimiyle
print(convert_to_openai_tool(detect_objects))
# Bir ajan, modelin araç çağrısında ilettiği bağımsız değişkenlerle aracı çalıştırır
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])İlk yazdırma, LangChain'in modele gönderdiği işlev tanımını gösterir: image_url dize parametresi ve açıklama olarak belge dizgesi. İkincisi, aracın döndürdüğü ilk algılamayı gösterir. tools=[detect_objects] değerini create_agent işlevine geçirmek, desteklenen tüm sohbet modellerinin algılayıcıyı tahmin modu üzerinden çağırmasını sağlar.
LangChain ve İlişkili Araçlar#
- Ajantik iş akışları: LangGraph grafikleri ve LangChain ajanlarının uyguladığı yönlendirme, araç kullanımı ve değerlendirici döngüleri gibi genel tasarım kalıpları.
- Sağlayıcı SDK'ları: Bir model sağlayıcısının API'sini doğrudan çağırmak için çerçeve gerekmez ve bu yöntem tek modelli uygulamalara uygundur. Bir uygulama birden çok modeli, aracı veya veri kaynağını kapsadığında LangChain, önemli hâle gelen ortak arayüzleri, entegrasyonları ve ajan döngüsünü ekler.
- DSPy: Çok adımlı bir LLM programının istemlerini otomatik olarak yazıp optimize eden, bunları örnek veriler üzerindeki bir ölçüte göre ayarlayan çerçeve.
- LlamaIndex: RAG için özel verileri alıp dizinlemeye ve sorgulamaya odaklanan çerçeve. İki araç örtüşür ve uygulamalarda, LangChain veya LangGraph ajanının içindeki bilgi erişimi için çoğu zaman LlamaIndex kullanılır.










