LangChain Expression Language (LCEL) (tiếp tục)
Ví dụ 3: Sử dụng RunnableParallel cho nhiều đầu vào
LCEL hỗ trợ các hoạt động song song
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatOpenAI
from langchain.schema.runnable import RunnablePassthrough
from langchain.schema.runnable import RunnableMap
# Step 1: Summarization prompt
summarize_prompt = ChatPromptTemplate.from_template( “Summarize the following text:\n\n{text}”)
# Step 2: Translation prompt
translate_prompt = ChatPromptTemplate.from_template( “Translate the following summary to {language}:\n\n{summary}”)
# LLM
model = ChatOpenAI()
# Step 1: Summarization chain
summarize_chain = summarize_prompt | model
# Step 2: Translation chain, fed with the output from summarization
translate_chain = ({“summary”: summarize_chain, “language”: RunnablePassthrough()} | translate_prompt | model)
# Run the complete chain
result = translate_chain.invoke({“text”: “LangChain is a framework for developing applications powered by language models.”, “language”: “French”})
print(result)
Output:
LangChain est un cadre pour le développement d’applications alimentées par des modèles de langage.
Code này minh họa một dòng làm việc LangChain cái sử dụng một mô hình ngôn ngữ để trước tiên tóm tắt một
text đã cho và sau đó dịch tóm tắt đó ra một ngôn ngữ chỉ ra. Nó tạo một xích cái thực hiện tóm tắt và
dịch song song, sử dụng mô hình ngôn ngữ và một mẫu prompt.
