RunnablePassthrough
RunnableParallel
RunnableLambda
from langchain_core.runnables import RunnablePassthrough
passthrough = RunnablePassthrough()
result = passthrough.invoke({"name": "우철"})
print(result)
# 출력: {'name': '우철'}
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnableParallel
# 두 개의 체인 생성
chain_1 = (
PromptTemplate.from_template("{country}의 수도는?")
| ChatOpenAI()
| StrOutputParser()
)
chain_2 = (
PromptTemplate.from_template("{country}의 인구는?")
| ChatOpenAI()
| StrOutputParser()
)
# 병렬 실행
parallel_chain = RunnableParallel({
"capital": chain_1,
"population": chain_2
})
result = parallel_chain.invoke({"country": "대한민국"})
print(result)
# 출력 예시: {'capital': '서울', 'population': '약 5천만 명'}
from langchain_core.runnables import RunnableLambda
def greet(data):
return f"안녕하세요, {data['name']}님!"
greet_chain = RunnableLambda(greet)
result = greet_chain.invoke({"name": "우철"})
print(result)
# 출력: "안녕하세요, 우철님!"