From 263ee788860ca2c763b7935979f9f2a47e8c5dd4 Mon Sep 17 00:00:00 2001 From: aditya thomas Date: Fri, 29 Mar 2024 03:45:18 +0530 Subject: [PATCH] core[runnables]: docstring for class RunnableSerializable, method configurable_fields (#19722) **Description:** Update to the docstring for class RunnableSerializable, method configurable_fields **Issue:** [Add in code documentation to core Runnable methods #18804](https://github.com/langchain-ai/langchain/issues/18804) **Dependencies:** None --------- Co-authored-by: Chester Curme --- libs/core/langchain_core/runnables/base.py | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/libs/core/langchain_core/runnables/base.py b/libs/core/langchain_core/runnables/base.py index dbb09cf106d..c6609fc906c 100644 --- a/libs/core/langchain_core/runnables/base.py +++ b/libs/core/langchain_core/runnables/base.py @@ -2034,6 +2034,33 @@ class RunnableSerializable(Serializable, Runnable[Input, Output]): def configurable_fields( self, **kwargs: AnyConfigurableField ) -> RunnableSerializable[Input, Output]: + """Configure particular runnable fields at runtime. + + .. code-block:: python + + from langchain_core.runnables import ConfigurableField + from langchain_openai import ChatOpenAI + + model = ChatOpenAI(max_tokens=20).configurable_fields( + max_tokens=ConfigurableField( + id="output_token_number", + name="Max tokens in the output", + description="The maximum number of tokens in the output", + ) + ) + + # max_tokens = 20 + print( + "max_tokens_20: ", + model.invoke("tell me something about chess").content + ) + + # max_tokens = 200 + print("max_tokens_200: ", model.with_config( + configurable={"output_token_number": 200} + ).invoke("tell me something about chess").content + ) + """ from langchain_core.runnables.configurable import RunnableConfigurableFields for key in kwargs: