Descriere & Utilizare
LCEL (LangChain Expression Language) este modul modern în care se construiesc lanțurile (chains) în LangChain, înlocuind vechile clase rigide precum LLMChain.
Folosind supraîncărcarea operatorului | (pipe) din Python, ieșirea unei componente devine automat intrarea componentei următoare: dicționarul de variabile intră în prompt, lista de mesaje rezultată intră în llm, iar obiectul AIMessage intră în StrOutputParser() pentru a extrage direct șirul de text curat.
Orice lanț construit cu LCEL moștenește automat suport nativ pentru streaming end-to-end, execuție asincronă, reîncercări în caz de eroare (.with_retry()) și modele de rezervă (.with_fallbacks()).
Cum să o reții ușor
💡 Ca o linie de asamblare automatizată dintr-o fabrică sau ca operatorul pipe din terminalul Linux (`cat fisier.txt | grep eroare | sort`): fiecare stație prelucrează piesa și o dă mai departe pe banda rulantă.
Opțiuni și parametri tehnici
- Fiecare element din lanț implementează interfața
Runnabledinlangchain_core. - Expresia
a | b | cconstruiește în spate un obiectRunnableSequence(first=a, middle=[b], last=c). - Propagă automat contextul de execuție și callback-urile de telemetrie pe întregul flux.
Exemple practice și cazuri de utilizare
- Lanț clasic cu parsare text:
chain = prompt | llm | StrOutputParser() - Adăugare model de rezervă (Fallback):
robust_llm = openai_llm.with_fallbacks([anthropic_llm]) - Transformare cu funcție personalizată:
chain = prompt | llm | StrOutputParser() | (lambda text: text.upper())
Sfaturi de configurare & capcane
Folosește StrOutputParser() la capătul lanțurilor conversaționale uzuale pentru a primi direct un str curat în loc să accesezi manual raspuns.content de fiecare dată.
Comenzi și ghiduri înrudite
chat-prompt-template: Resursă asociată din acest modul.runnable-passthrough-parallel: Resursă asociată din acest modul.structured-output-pydantic: Resursă asociată din acest modul.