LCEL (LangChain İfade Dili)
Çubuk işleci '|' ile çalıştırılabilirleri birleştirin, RunnablePassthrough kullanın ve zincir üzerinden akış sağlayın.
LCEL (LangChain İfade Dili), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
LCEL Nedir?
LangChain Expression Language, zincirleri birleştirmenin modern yoludur. Runnables nesnelerini zincirlemek için | boru operatörünü kullanır.
Artık eski olarak kabul edilen eski "Chain" sınıflarının (LLMChain, SequentialChain) yerini almıştır.
A Basic LCEL Chain
from langchain.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langchain.schema.output_parser import StrOutputParser
prompt = ChatPromptTemplate.from_template('Translate {text} to French.')
model = ChatOpenAI(model='gpt-4o-mini')
parser = StrOutputParser()
chain = prompt | model | parser
print(chain.invoke({'text': 'Hello, world!'}))RunnablePassthrough
Girdiyi değiştirmeden aktarır. Verileri bir LLM çağrısının yanında korumak için kullanışlıdır:
from langchain_core.runnables import RunnablePassthrough
chain = (
{'context': retriever, 'question': RunnablePassthrough()}
| prompt
| model
| parser
)
chain.invoke('What is RAG?')RunnableParallel
Birden çok Runnable nesnesini paralel çalıştırır; çıktıları bir sözlük olur:
from langchain_core.runnables import RunnableParallel
chain = RunnableParallel(
summary=summary_prompt | model | parser,
keywords=keywords_prompt | model | parser
) | merge_prompt | model | parser
result = chain.invoke({'text': '...'})RunnableLambda
Herhangi bir Python işlevini bir Runnable nesnesine sarın:
from langchain_core.runnables import RunnableLambda
def uppercase(text: str) -> str:
return text.upper()
chain = prompt | model | parser | RunnableLambda(uppercase)Streaming Through LCEL
for chunk in chain.stream({'text': 'Hello'}):
print(chunk, end='', flush=True)Toplu ve Eşzamansız İşlemler
Her Runnable batch, ainvoke, astream işlemlerini destekler:
results = chain.batch([
{'text': 'a'}, {'text': 'b'}, {'text': 'c'}
])
# All three run in parallel.Şemalar
Tür ipuçları ekleyin — LCEL girdileri ve çıktıları doğrular:
from pydantic import BaseModel
class Input(BaseModel):
text: str
class Output(BaseModel):
translation: str
chain = chain.with_types(input_type=Input, output_type=Output)with_config ve Geri Dönüşler
Modeli sabitleyin, yeniden denemeleri ayarlayın, geri dönüş modelini ekleyin:
fast = ChatOpenAI(model='gpt-4o-mini')
big = ChatOpenAI(model='gpt-4o')
chain = prompt | fast.with_fallbacks([big]) | parserwith_retry
class Chain:
def invoke(self, x):
return f'processed: {x}'
def with_retry(self, stop_after_attempt=3, wait_exponential_jitter=True):
print(f'Chain will retry up to {stop_after_attempt} times with jittered backoff')
return self
chain = Chain()
chain = chain.with_retry(stop_after_attempt=3, wait_exponential_jitter=True)
print(chain.invoke('input data'))RAG Zinciri Oluşturma
Hepsini bir araya getirelim:
rag_chain = (
{'context': retriever | format_docs, 'question': RunnablePassthrough()}
| rag_prompt
| model
| StrOutputParser()
)
def format_docs(docs):
return '\n\n'.join(d.page_content for d in docs)
rag_chain.invoke('What is in the handbook?')LCEL'de Hata Ayıklama
Ara adımları inceleyin:
chain.get_graph().print_ascii()
# Or run step-by-step:
for step in chain.stream_log({'text': '...'}):
print(step)Boru Operatörü
LCEL'de RunnablePassthrough öğesinin rolü nedir?
Özet
LCEL, modern LangChain'in temelidir. Boru, Parallel, Lambda ve Passthrough kavramlarını öğrenerek her tür zinciri oluşturabilirsiniz.
Sıkça Sorulan Sorular
“LCEL (LangChain İfade Dili)” dersi ücretsiz mi?
Evet — “LCEL (LangChain İfade Dili)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“LCEL (LangChain İfade Dili)” dersinde ne öğreneceğim?
Çubuk işleci '|' ile çalıştırılabilirleri birleştirin, RunnablePassthrough kullanın ve zincir üzerinden akış sağlayın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“LCEL (LangChain İfade Dili)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- LangChain Mimarisi: Modeller, İstemler, Zincirler
- Yükleyiciler, Bölücüler ve Vektör Depoları
- LCEL (LangChain İfade Dili)
- Baştan Sona RAG Zinciri Oluşturma