Yapay Zeka

LangChain ile AI Uygulamaları Geliştirme

24 Nov 2025
5 dakika okuma
İninia Teknoloji

LangChain, Large Language Model'leri (LLM) kullanarak gelişmiş AI uygulamaları oluşturmak için tasarlanmış açık kaynaklı bir framework'tür. RAG sistemleri, chatbotlar, AI agent'lar ve zincirlenmiş işlemler için kapsamlı araçlar sunar.

LangChain Nedir?

LangChain, LLM tabanlı uygulamaların karmaşıklığını yönetmek için modüler bir yapı sunar:

  • Model I/O: LLM'lerle etkileşim
  • Retrieval: Veri getirme ve RAG
  • Agents: Otonom karar verme
  • Chains: İşlem zincirleri
  • Memory: Konuşma geçmişi

Kurulum

pip install langchain langchain-openai langchain-community
pip install chromadb faiss-cpu  # Vector store için

Temel Kullanım

from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate

# Model oluştur
llm = ChatOpenAI(model="gpt-4-turbo-preview", temperature=0.7)

# Prompt template
prompt = ChatPromptTemplate.from_messages([
    ("system", "Sen bir {role} uzmanısın."),
    ("user", "{input}")
])

# Chain oluştur
chain = prompt | llm

# Çalıştır
response = chain.invoke({"role": "Python", "input": "Decorator nedir?"})
print(response.content)

RAG (Retrieval Augmented Generation)

from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA

# Dokümanları yükle
loader = PyPDFLoader("document.pdf")
documents = loader.load()

# Parçala
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
splits = text_splitter.split_documents(documents)

# Vector store oluştur
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(splits, embeddings)

# RAG chain
qa_chain = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(),
    retriever=vectorstore.as_retriever(),
    chain_type="stuff"
)

answer = qa_chain.invoke("Dokümanda ne anlatılıyor?")

Memory (Konuşma Geçmişi)

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

memory = ConversationBufferMemory()

conversation = ConversationChain(
    llm=ChatOpenAI(),
    memory=memory,
    verbose=True
)

conversation.predict(input="Merhaba, ben Ali")
conversation.predict(input="Adımı hatırlıyor musun?")  # "Evet, Ali"

Agents

from langchain.agents import create_openai_functions_agent, AgentExecutor
from langchain.tools import Tool
from langchain import hub

# Tool tanımla
def calculator(expression: str) -> str:
    return str(eval(expression))

tools = [
    Tool(
        name="Calculator",
        func=calculator,
        description="Matematiksel işlemler için kullan"
    )
]

# Agent oluştur
prompt = hub.pull("hwchase17/openai-functions-agent")
agent = create_openai_functions_agent(ChatOpenAI(), tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

result = agent_executor.invoke({"input": "25 * 48 kaç eder?"})

Output Parsers

from langchain.output_parsers import PydanticOutputParser
from pydantic import BaseModel, Field

class Product(BaseModel):
    name: str = Field(description="Ürün adı")
    price: float = Field(description="Fiyat")
    description: str = Field(description="Açıklama")

parser = PydanticOutputParser(pydantic_object=Product)

prompt = ChatPromptTemplate.from_template(
    "Bir ürün bilgisi oluştur:\n{format_instructions}\nÜrün: {product}"
)

chain = prompt | llm | parser
product = chain.invoke({
    "product": "akıllı saat",
    "format_instructions": parser.get_format_instructions()
})

LangSmith (Monitoring)

# .env
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=your_key

# Otomatik olarak tüm chain çağrıları loglanır

Best Practices

  • Modüler chain'ler oluşturun
  • Error handling ekleyin
  • Caching kullanın (LangChain cache)
  • Prompt'ları versiyon kontrol edin
  • LangSmith ile debug yapın

LangChain, LLM tabanlı uygulamaların karmaşıklığını yönetmenin standart yolu haline geldi. RAG, agents ve chains ile güçlü AI sistemleri oluşturun.

İninia Teknoloji

İstanbul Teknik Üniversitesi ARI Teknokent'te kurulu Ininia Teknoloji, 12+ yıllık deneyimle AR/VR, yapay zeka ve mobil uygulama alanlarında yenilikçi çözümler sunmaktadır.

Projeniz için profesyonel destek mi arıyorsunuz?

12+ yıllık deneyimimizle dijital dönüşümünüzü hızlandıralım.

Ücretsiz Görüşme Talep Et