LangChain Expression Language (LCEL) (phần 4)

LangChain Expression Language (LCEL) (tiếp tục)

Ở dưới ngầm, LCEL sử dụng nạp chồng toán tử của Python để chuyển dạng biểu thức này thành một
RunnableSequence nơi đầu ra của mỗi bộ phận chảy vào đầu vào của bộ phận tiếp theo. Dòng ống (|) là
viên đường cú pháp cái ghi đè phương thức ẩn _or_, nói cách khác, A | B là tương ứng B.__or__(A).
Cú pháp dòng ống là tương ứng việc tạo một RunnableSequence theo chương trình:

chain = RunnableSequence(first= prompt, middle=[llm], last= output_parser)
LCEL also supports adding transformations and custom functions:
with_transformation = prompt | llm | (lambda x: x.upper()) |
StrOutputParser()

Cho các dòng làm việc phức tạp hơn, bạn có thể tích hợp logic rẽ nhánh:

decision_chain = prompt | llm | (lambda x: route_based_on_content(x)) | {

“summarize”: summarize_chain,
“analyze”: analyze_chain

}

Các phần tử không phải Runnable như các hàm và dictionaries được tự động chuyển đổi thành các dạng
Runnable phù hợp:

# Function to Runnable
length_func = lambda x: len(x)
chain = prompt | length_func | output_parser
# Is converted to:
chain = prompt | RunnableLambda(length_func) | output_parser

Bản chất biên tập được, linh động của LCEL sẽ cho phép chúng ta giải quyết các thách thức ứng dụng thế
giới thực với code duy trì được và thanh lịch.

Chia sẻ