From 371bcb7580ac495567bedffa73877ad9a0868649 Mon Sep 17 00:00:00 2001 From: lijie Date: Sat, 2 Dec 2023 02:46:53 +0800 Subject: [PATCH] langchain[patch]: set maxsplit when parse python function docstring (#14121) Description when the desc of arg in python docstring contains ":", the `_parse_python_function_docstring` will raise **ValueError: too many values to unpack (expected 2)**. A sample desc would be: """ Args: error_arg: this is an arg with an additional ":" symbol """ So, set `maxsplit` parameter to fix it. --- libs/langchain/langchain/chains/openai_functions/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/langchain/langchain/chains/openai_functions/base.py b/libs/langchain/langchain/chains/openai_functions/base.py index cac02f4430d..14259dff23e 100644 --- a/libs/langchain/langchain/chains/openai_functions/base.py +++ b/libs/langchain/langchain/chains/openai_functions/base.py @@ -75,7 +75,7 @@ def _parse_python_function_docstring(function: Callable) -> Tuple[str, dict]: arg = None for line in args_block.split("\n")[1:]: if ":" in line: - arg, desc = line.split(":") + arg, desc = line.split(":", maxsplit=1) arg_descriptions[arg.strip()] = desc.strip() elif arg: arg_descriptions[arg.strip()] += " " + line.strip()