
"input": RunnablePassthrough(),
"language": lambda _: "Japanese",
} | translation
chain = to_english | llm | StrOutputParser() | to_japanese
text = input("User: ")
answer = chain.invoke(text)
print(answer)
並列化のための利用
RunnableParallel
のもう一つの重要な役割は、複数のチェーンを論理的に並列化すること
です。同じ入力を持つ複数のチェーンを並列化することで、それぞれのチェーンが独立して処
理を行い、その結果を辞書型のデータとして集約することができます。また、並列化によって
コードがシンプルになり、可読性と保守性が向上します。
リスト 5.5.4に、チェーンを並列化に利用したコード例を示します。このコードでは、入力
されたテキストの言語を判定するチェーンと、テキストを英語に翻訳するチェーンを並列化し
ています。以降、ここではこのコードを順に説明します。
リスト5.5.4
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts ...