LCEL (Bahasa Ekspresi LangChain)
Susun runnable dengan operator pipa '|', gunakan RunnablePassthrough, lalu alirkan hasil melalui rantai.
LCEL (Bahasa Ekspresi LangChain) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Apa Itu LCEL?
LangChain Expression Language adalah cara modern untuk menyusun rantai. Bahasa ini menggunakan operator pipa | untuk merangkai komponen yang dapat dijalankan.
Bahasa ini menggantikan kelas "Chain" lama (LLMChain, SequentialChain), yang kini sudah usang.
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
Teruskan masukan tanpa perubahan. Berguna untuk mempertahankan data bersama pemanggilan LLM:
from langchain_core.runnables import RunnablePassthrough
chain = (
{'context': retriever, 'question': RunnablePassthrough()}
| prompt
| model
| parser
)
chain.invoke('What is RAG?')RunnableParallel
Jalankan beberapa komponen yang dapat dijalankan secara paralel; keluarannya menjadi dict:
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
Bungkus fungsi Python apa pun dalam komponen yang dapat dijalankan:
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)Pemrosesan Kelompok dan Asinkron
Setiap komponen yang dapat dijalankan mendukung batch, ainvoke, astream:
results = chain.batch([
{'text': 'a'}, {'text': 'b'}, {'text': 'c'}
])
# All three run in parallel.Skema
Tambahkan petunjuk tipe — LCEL memvalidasi masukan dan keluaran:
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 dan Cadangan
Tetapkan model, atur percobaan ulang, tambahkan model cadangan:
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'))Membangun Rantai RAG
Menyatukan semuanya:
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?')Men-debug LCEL
Periksa langkah-langkah perantara:
chain.get_graph().print_ascii()
# Or run step-by-step:
for step in chain.stream_log({'text': '...'}):
print(step)Operator Pipa
Apa peran RunnablePassthrough dalam LCEL?
Ringkasan
LCEL adalah fondasi LangChain modern. Pelajari pipe, Parallel, Lambda, Passthrough, dan Anda dapat membangun rantai apa pun.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “LCEL (Bahasa Ekspresi LangChain)” gratis?
Ya — teks lengkap “LCEL (Bahasa Ekspresi LangChain)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “LCEL (Bahasa Ekspresi LangChain)”?
Susun runnable dengan operator pipa '|', gunakan RunnablePassthrough, lalu alirkan hasil melalui rantai. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “LCEL (Bahasa Ekspresi LangChain)” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Arsitektur LangChain: Model, Prompt, Rantai
- Pemuat, Pemotong, dan Penyimpanan Vektor
- LCEL (Bahasa Ekspresi LangChain)
- Membangun Rantai RAG dari Awal hingga Akhir