0
0
LangChainframework~5 mins

RunnablePassthrough and RunnableLambda in LangChain

Choose your learning style9 modes available
Introduction

RunnablePassthrough and RunnableLambda help you run simple tasks easily without extra setup.

When you want to pass data through without changing it.
When you want to run a small function quickly inside a bigger process.
When you need a simple way to wrap a function to run it later.
When you want to test or debug parts of your code by running small pieces.
When you want to create reusable blocks that do simple jobs.
Syntax
LangChain
from langchain.schema.runnable import RunnablePassthrough, RunnableLambda

# Create a passthrough runnable
passthrough = RunnablePassthrough()

# Create a lambda runnable with a function
lambda_runnable = RunnableLambda(lambda x: x * 2)

# Run them
result1 = passthrough.invoke('hello')
result2 = lambda_runnable.invoke(5)

RunnablePassthrough returns the input as output without changes.

RunnableLambda runs a function you give it on the input.

Examples
This returns 'test' because passthrough sends input as output.
LangChain
passthrough = RunnablePassthrough()
output = passthrough.invoke('test')
This returns 17 because the lambda adds 10 to the input.
LangChain
lambda_runnable = RunnableLambda(lambda x: x + 10)
output = lambda_runnable.invoke(7)
This returns 'HELLO' by converting the input string to uppercase.
LangChain
lambda_runnable = RunnableLambda(lambda s: s.upper())
output = lambda_runnable.invoke('hello')
Sample Program

This program shows how RunnablePassthrough returns the input unchanged, and RunnableLambda runs a function that doubles the input number.

LangChain
from langchain.schema.runnable import RunnablePassthrough, RunnableLambda

# Create a passthrough runnable
passthrough = RunnablePassthrough()

# Create a lambda runnable that doubles numbers
lambda_runnable = RunnableLambda(lambda x: x * 2)

# Use passthrough
result1 = passthrough.invoke('keep this text')
print(f'Passthrough output: {result1}')

# Use lambda runnable
result2 = lambda_runnable.invoke(10)
print(f'Lambda output: {result2}')
OutputSuccess
Important Notes

RunnablePassthrough is useful when you want to keep data unchanged in a chain.

RunnableLambda lets you quickly wrap any small function to run inside LangChain.

Both help keep your code simple and modular.

Summary

RunnablePassthrough returns input as output without changes.

RunnableLambda runs a small function you provide on the input.

Use them to build simple, reusable pieces in your LangChain workflows.