From 2019e31bc59f6730f909aa389dfc07aa2bb1c8f4 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 31 Jul 2024 14:09:22 -0400 Subject: [PATCH] langchain[patch]: Add missing type annotations (#24889) Adds missing type annotations in preparation for pydantic 2 upgrade. --- libs/langchain/langchain/agents/chat/output_parser.py | 4 ++-- .../agents/output_parsers/react_json_single_input.py | 4 ++-- .../langchain/agents/structured_chat/output_parser.py | 4 ++-- libs/langchain/tests/unit_tests/chains/test_conversation.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libs/langchain/langchain/agents/chat/output_parser.py b/libs/langchain/langchain/agents/chat/output_parser.py index 85e766f381a..6c842e6a219 100644 --- a/libs/langchain/langchain/agents/chat/output_parser.py +++ b/libs/langchain/langchain/agents/chat/output_parser.py @@ -1,6 +1,6 @@ import json import re -from typing import Union +from typing import Pattern, Union from langchain_core.agents import AgentAction, AgentFinish from langchain_core.exceptions import OutputParserException @@ -17,7 +17,7 @@ class ChatOutputParser(AgentOutputParser): format_instructions: str = FORMAT_INSTRUCTIONS """Default formatting instructions""" - pattern = re.compile(r"^.*?`{3}(?:json)?\n(.*?)`{3}.*?$", re.DOTALL) + pattern: Pattern = re.compile(r"^.*?`{3}(?:json)?\n(.*?)`{3}.*?$", re.DOTALL) """Regex pattern to parse the output.""" def get_format_instructions(self) -> str: diff --git a/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py b/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py index 0ca9ed2ffd8..7c6757fc933 100644 --- a/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py +++ b/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py @@ -1,6 +1,6 @@ import json import re -from typing import Union +from typing import Pattern, Union from langchain_core.agents import AgentAction, AgentFinish from langchain_core.exceptions import OutputParserException @@ -42,7 +42,7 @@ class ReActJsonSingleInputOutputParser(AgentOutputParser): """ - pattern = re.compile(r"^.*?`{3}(?:json)?\n?(.*?)`{3}.*?$", re.DOTALL) + pattern: Pattern = re.compile(r"^.*?`{3}(?:json)?\n?(.*?)`{3}.*?$", re.DOTALL) """Regex pattern to parse the output.""" def get_format_instructions(self) -> str: diff --git a/libs/langchain/langchain/agents/structured_chat/output_parser.py b/libs/langchain/langchain/agents/structured_chat/output_parser.py index 32d84f2dd26..f73f87f4f4b 100644 --- a/libs/langchain/langchain/agents/structured_chat/output_parser.py +++ b/libs/langchain/langchain/agents/structured_chat/output_parser.py @@ -3,7 +3,7 @@ from __future__ import annotations import json import logging import re -from typing import Optional, Union +from typing import Optional, Pattern, Union from langchain_core.agents import AgentAction, AgentFinish from langchain_core.exceptions import OutputParserException @@ -23,7 +23,7 @@ class StructuredChatOutputParser(AgentOutputParser): format_instructions: str = FORMAT_INSTRUCTIONS """Default formatting instructions""" - pattern = re.compile(r"```(?:json\s+)?(\W.*?)```", re.DOTALL) + pattern: Pattern = re.compile(r"```(?:json\s+)?(\W.*?)```", re.DOTALL) """Regex pattern to parse the output.""" def get_format_instructions(self) -> str: diff --git a/libs/langchain/tests/unit_tests/chains/test_conversation.py b/libs/langchain/tests/unit_tests/chains/test_conversation.py index a286725861a..7d0d18bee81 100644 --- a/libs/langchain/tests/unit_tests/chains/test_conversation.py +++ b/libs/langchain/tests/unit_tests/chains/test_conversation.py @@ -16,7 +16,7 @@ from tests.unit_tests.llms.fake_llm import FakeLLM class DummyLLM(LLM): - last_prompt = "" + last_prompt: str = "" def __init__(self, **kwargs: Any): super().__init__(**kwargs)