From 521c6f02332860a97ea8861fd2d6cf7ed9e0d894 Mon Sep 17 00:00:00 2001 From: Siraj Aizlewood <31565026+Siraj-R-Khan@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:01:08 +0400 Subject: [PATCH] =?UTF-8?q?Provided=20default=20values=20for=20tags=20and?= =?UTF-8?q?=20inheritable=5Ftags=20args=20in=20BaseRun=E2=80=A6=20(#6858)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit when running AsyncCallbackManagerForChainRun (from langchain.callbacks.manager import AsyncCallbackManagerForChainRun), provided default values for tags and inheritable_tages of empty lists in manager.py BaseRunManager. - Description: In manager.py, `BaseRunManager`, default values were provided for the `__init__` args `tags` and `inheritable_tags`. They default to empty lists (`[]`). - Issue: When trying to use Nvidia NeMo Guardrails with LangChain, the following exception was raised: --- langchain/callbacks/manager.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/langchain/callbacks/manager.py b/langchain/callbacks/manager.py index 02bf28afccc..18173b77ef0 100644 --- a/langchain/callbacks/manager.py +++ b/langchain/callbacks/manager.py @@ -379,8 +379,8 @@ class BaseRunManager(RunManagerMixin): handlers: List[BaseCallbackHandler], inheritable_handlers: List[BaseCallbackHandler], parent_run_id: Optional[UUID] = None, - tags: List[str], - inheritable_tags: List[str], + tags: Optional[List[str]] = None, + inheritable_tags: Optional[List[str]] = None, ) -> None: """Initialize the run manager. @@ -391,15 +391,15 @@ class BaseRunManager(RunManagerMixin): The list of inheritable handlers. parent_run_id (UUID, optional): The ID of the parent run. Defaults to None. - tags (List[str]): The list of tags. - inheritable_tags (List[str]): The list of inheritable tags. + tags (Optional[List[str]]): The list of tags. + inheritable_tags (Optional[List[str]]): The list of inheritable tags. """ self.run_id = run_id self.handlers = handlers self.inheritable_handlers = inheritable_handlers - self.tags = tags - self.inheritable_tags = inheritable_tags self.parent_run_id = parent_run_id + self.tags = tags or [] + self.inheritable_tags = inheritable_tags or [] @classmethod def get_noop_manager(cls: Type[BRM]) -> BRM: