From 1987f905ed72088e77884d954993d609aaf62823 Mon Sep 17 00:00:00 2001 From: Theo / Taeyoon Kang <52947381+TykanN@users.noreply.github.com> Date: Tue, 13 Feb 2024 12:57:20 +0900 Subject: [PATCH] core[patch]: Support .yml extension for YAML (#16783) - **Description:** [AS-IS] When dealing with a yaml file, the extension must be .yaml. [TO-BE] In the absence of extension length constraints in the OS, the extension of the YAML file is yaml, but control over the yml extension must still be made. It's as if it's an error because it's a .jpg extension in jpeg support. - **Issue:** - - **Dependencies:** no dependencies required for this change, --- libs/community/langchain_community/llms/loading.py | 2 +- libs/core/langchain_core/language_models/llms.py | 2 +- libs/core/langchain_core/prompts/base.py | 2 +- libs/core/langchain_core/prompts/loading.py | 2 +- .../langchain_experimental/data_anonymizer/presidio.py | 4 ++-- libs/experimental/langchain_experimental/prompts/load.py | 2 +- libs/langchain/langchain/agents/agent.py | 4 ++-- libs/langchain/langchain/chains/base.py | 2 +- libs/langchain/langchain/chains/loading.py | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libs/community/langchain_community/llms/loading.py b/libs/community/langchain_community/llms/loading.py index c9621b784df..f410f7b7c6c 100644 --- a/libs/community/langchain_community/llms/loading.py +++ b/libs/community/langchain_community/llms/loading.py @@ -35,7 +35,7 @@ def load_llm(file: Union[str, Path]) -> BaseLLM: if file_path.suffix == ".json": with open(file_path) as f: config = json.load(f) - elif file_path.suffix == ".yaml": + elif file_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "r") as f: config = yaml.safe_load(f) else: diff --git a/libs/core/langchain_core/language_models/llms.py b/libs/core/langchain_core/language_models/llms.py index ec2af1b91e0..36d94353251 100644 --- a/libs/core/langchain_core/language_models/llms.py +++ b/libs/core/langchain_core/language_models/llms.py @@ -1120,7 +1120,7 @@ class BaseLLM(BaseLanguageModel[str], ABC): if save_path.suffix == ".json": with open(file_path, "w") as f: json.dump(prompt_dict, f, indent=4) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "w") as f: yaml.dump(prompt_dict, f, default_flow_style=False) else: diff --git a/libs/core/langchain_core/prompts/base.py b/libs/core/langchain_core/prompts/base.py index 51eddf0f771..96cfbf63740 100644 --- a/libs/core/langchain_core/prompts/base.py +++ b/libs/core/langchain_core/prompts/base.py @@ -221,7 +221,7 @@ class BasePromptTemplate( if save_path.suffix == ".json": with open(file_path, "w") as f: json.dump(prompt_dict, f, indent=4) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "w") as f: yaml.dump(prompt_dict, f, default_flow_style=False) else: diff --git a/libs/core/langchain_core/prompts/loading.py b/libs/core/langchain_core/prompts/loading.py index dd6e0c35478..baa56a5666d 100644 --- a/libs/core/langchain_core/prompts/loading.py +++ b/libs/core/langchain_core/prompts/loading.py @@ -146,7 +146,7 @@ def _load_prompt_from_file(file: Union[str, Path]) -> BasePromptTemplate: if file_path.suffix == ".json": with open(file_path) as f: config = json.load(f) - elif file_path.suffix == ".yaml": + elif file_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "r") as f: config = yaml.safe_load(f) else: diff --git a/libs/experimental/langchain_experimental/data_anonymizer/presidio.py b/libs/experimental/langchain_experimental/data_anonymizer/presidio.py index f9b35788b08..fbfad3703e7 100644 --- a/libs/experimental/langchain_experimental/data_anonymizer/presidio.py +++ b/libs/experimental/langchain_experimental/data_anonymizer/presidio.py @@ -428,7 +428,7 @@ class PresidioReversibleAnonymizer(PresidioAnonymizerBase, ReversibleAnonymizerB if save_path.suffix == ".json": with open(save_path, "w") as f: json.dump(self.deanonymizer_mapping, f, indent=2) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(save_path, "w") as f: yaml.dump(self.deanonymizer_mapping, f, default_flow_style=False) @@ -452,7 +452,7 @@ class PresidioReversibleAnonymizer(PresidioAnonymizerBase, ReversibleAnonymizerB if load_path.suffix == ".json": with open(load_path, "r") as f: loaded_mapping = json.load(f) - elif load_path.suffix == ".yaml": + elif load_path.suffix.endswith((".yaml", ".yml")): with open(load_path, "r") as f: loaded_mapping = yaml.load(f, Loader=yaml.FullLoader) diff --git a/libs/experimental/langchain_experimental/prompts/load.py b/libs/experimental/langchain_experimental/prompts/load.py index a7322565778..51efdc98db5 100644 --- a/libs/experimental/langchain_experimental/prompts/load.py +++ b/libs/experimental/langchain_experimental/prompts/load.py @@ -30,7 +30,7 @@ def _load_prompt_from_file(file: Union[str, Path]) -> BasePromptTemplate: if file_path.suffix == ".json": with open(file_path) as f: config = json.load(f) - elif file_path.suffix == ".yaml": + elif file_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "r") as f: config = yaml.safe_load(f) elif file_path.suffix == ".py": diff --git a/libs/langchain/langchain/agents/agent.py b/libs/langchain/langchain/agents/agent.py index 8bd7b6d478a..e6f9df49398 100644 --- a/libs/langchain/langchain/agents/agent.py +++ b/libs/langchain/langchain/agents/agent.py @@ -185,7 +185,7 @@ class BaseSingleActionAgent(BaseModel): if save_path.suffix == ".json": with open(file_path, "w") as f: json.dump(agent_dict, f, indent=4) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "w") as f: yaml.dump(agent_dict, f, default_flow_style=False) else: @@ -310,7 +310,7 @@ class BaseMultiActionAgent(BaseModel): if save_path.suffix == ".json": with open(file_path, "w") as f: json.dump(agent_dict, f, indent=4) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "w") as f: yaml.dump(agent_dict, f, default_flow_style=False) else: diff --git a/libs/langchain/langchain/chains/base.py b/libs/langchain/langchain/chains/base.py index dc665ae9978..1bb6d1636b2 100644 --- a/libs/langchain/langchain/chains/base.py +++ b/libs/langchain/langchain/chains/base.py @@ -687,7 +687,7 @@ class Chain(RunnableSerializable[Dict[str, Any], Dict[str, Any]], ABC): if save_path.suffix == ".json": with open(file_path, "w") as f: json.dump(chain_dict, f, indent=4) - elif save_path.suffix == ".yaml": + elif save_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "w") as f: yaml.dump(chain_dict, f, default_flow_style=False) else: diff --git a/libs/langchain/langchain/chains/loading.py b/libs/langchain/langchain/chains/loading.py index 0675b87141a..0fc3da3f499 100644 --- a/libs/langchain/langchain/chains/loading.py +++ b/libs/langchain/langchain/chains/loading.py @@ -607,7 +607,7 @@ def _load_chain_from_file(file: Union[str, Path], **kwargs: Any) -> Chain: if file_path.suffix == ".json": with open(file_path) as f: config = json.load(f) - elif file_path.suffix == ".yaml": + elif file_path.suffix.endswith((".yaml", ".yml")): with open(file_path, "r") as f: config = yaml.safe_load(f) else: