CH13 - LangChain Expression Language(LCEL)
Perkiraan waktu belajar: 3 Hari
Tingkat kesulitan: Sedang
LangChain Expression Language (LCEL) adalah cara deklaratif untuk merangkai komponen LangChain. LCEL dirancang sejak awal untuk mendukung penerapan prototipe langsung ke produksi tanpa perubahan kode, mulai dari rangkaian sederhana seperti “prompt + LLM” hingga rangkaian paling kompleks (kami telah melihat orang berhasil menjalankan rangkaian LCEL dengan ratusan langkah dalam produksi).
Pentingnya LCEL
-
Dukungan Streaming: Membangun rantai dengan LCEL memberikan waktu tercepat untuk menghasilkan token pertama. Contohnya, token langsung diteruskan dari LLM ke parser streaming, sehingga Anda menerima potongan output secara bertahap sesuai dengan kecepatan LLM.
-
Dukungan Asinkron: Rantai LCEL dapat dipanggil secara sinkron (seperti di Jupyter saat membuat prototipe) atau asinkron (misalnya di server LangServe). Ini memungkinkan kode yang sama digunakan baik untuk prototipe maupun produksi dengan kinerja optimal dan penanganan banyak permintaan secara bersamaan.
-
Eksekusi Paralel Teroptimasi: LCEL secara otomatis menjalankan langkah-langkah yang bisa diproses paralel (misalnya saat mengambil dokumen dari beberapa retriever) untuk mengurangi latensi, baik pada antarmuka sinkron maupun asinkron.
-
Retry dan Fallback: Anda bisa mengonfigurasi retry dan fallback untuk meningkatkan keandalan rantai. Dukungan streaming untuk retry/fallback sedang dikembangkan agar keandalan tidak mengorbankan kecepatan.
-
Akses Hasil Intermediate: Untuk rantai kompleks, hasil langkah-langkah intermediate dapat diakses sebelum output akhir, membantu debugging atau memberi tahu pengguna bahwa proses berjalan. Hasil intermediate bisa disalurkan di server LangServe.
-
Skema Input dan Output: LCEL mendukung skema Pydantic dan JSONSchema untuk memvalidasi input dan output, menjadi bagian penting dalam LangServe.
-
Tracing dengan LangSmith: Langkah-langkah rantai LCEL otomatis tercatat di LangSmith untuk memudahkan pemantauan dan debugging, terutama saat rantai semakin kompleks.
-
Referensi: Dokumentasi LCEL (opens in a new tab)