Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
core: fix .bind when used with RunnableLambda async methods (#17739)
**Description:** Here is a minimal example to illustrate behavior: ```python from langchain_core.runnables import RunnableLambda def my_function(*args, **kwargs): return 3 + kwargs.get("n", 0) runnable = RunnableLambda(my_function).bind(n=1) assert 4 == runnable.invoke({}) assert [4] == list(runnable.stream({})) assert 4 == await runnable.ainvoke({}) assert [4] == [item async for item in runnable.astream({})] ``` Here, `runnable.invoke({})` and `runnable.stream({})` work fine, but `runnable.ainvoke({})` raises ``` TypeError: RunnableLambda._ainvoke.<locals>.func() got an unexpected keyword argument 'n' ``` and similarly for `runnable.astream({})`: ``` TypeError: RunnableLambda._atransform.<locals>.func() got an unexpected keyword argument 'n' ``` Here we assume that this behavior is undesired and attempt to fix it. **Issue:** #17241, #16446
- Loading branch information