community[patch]: Skip unit test that depends on langchain-aws and fix pydantic settings (#26111)

* Skip unit test that depends on langchain-aws
* fix pydantic settings
This commit is contained in:
Eugene Yurtsev
2024-09-05 15:08:34 -04:00
committed by GitHub
parent a111098230
commit 6e1b0d0228
9 changed files with 31 additions and 44 deletions

View File

@@ -12,12 +12,11 @@ from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Sequence, Union
from pydantic import ( from pydantic import (
BaseModel, BaseModel,
ConfigDict,
Field, Field,
FilePath, FilePath,
SecretStr, SecretStr,
) )
from pydantic_settings import BaseSettings from pydantic_settings import BaseSettings, SettingsConfigDict
from langchain_community.document_loaders.base import BaseLoader from langchain_community.document_loaders.base import BaseLoader
from langchain_community.document_loaders.blob_loaders.file_system import ( from langchain_community.document_loaders.blob_loaders.file_system import (
@@ -38,10 +37,8 @@ class _O365Settings(BaseSettings):
client_id: str = Field(..., env="O365_CLIENT_ID") client_id: str = Field(..., env="O365_CLIENT_ID")
client_secret: SecretStr = Field(..., env="O365_CLIENT_SECRET") client_secret: SecretStr = Field(..., env="O365_CLIENT_SECRET")
model_config = ConfigDict( model_config = SettingsConfigDict(
case_sentive=False, case_sentive=False, env_file=".env", env_prefix=""
env_file=".env",
env_prefix="",
) )

View File

@@ -9,8 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Tuple
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
logger = logging.getLogger() logger = logging.getLogger()
DEBUG = False DEBUG = False
@@ -62,10 +61,8 @@ class ApacheDorisSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="apache_doris_"
env_file_encoding="utf-8",
env_prefix="apache_doris_",
) )

View File

@@ -9,8 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Tuple, Union
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
logger = logging.getLogger() logger = logging.getLogger()
@@ -96,10 +95,8 @@ class ClickhouseSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="clickhouse_"
env_file_encoding="utf-8",
env_prefix="clickhouse_",
) )

View File

@@ -15,8 +15,7 @@ import numpy as np
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
from langchain_community.vectorstores.utils import maximal_marginal_relevance from langchain_community.vectorstores.utils import maximal_marginal_relevance
@@ -80,10 +79,8 @@ class KineticaSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="kinetica_"
env_file_encoding="utf-8",
env_prefix="kinetica_",
) )

View File

@@ -9,8 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Type
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
logger = logging.getLogger() logger = logging.getLogger()
DEFAULT_K = 4 # Number of Documents to return. DEFAULT_K = 4 # Number of Documents to return.
@@ -57,10 +56,8 @@ class ManticoreSearchSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="manticore_"
env_file_encoding="utf-8",
env_prefix="manticore_",
) )

View File

@@ -9,8 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Tuple
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
logger = logging.getLogger() logger = logging.getLogger()
@@ -86,10 +85,8 @@ class MyScaleSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="myscale_"
env_file_encoding="utf-8",
env_prefix="myscale_",
) )

View File

@@ -9,8 +9,7 @@ from typing import Any, Dict, Iterable, List, Optional, Tuple
from langchain_core.documents import Document from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore from langchain_core.vectorstores import VectorStore
from pydantic import ConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic_settings import BaseSettings
logger = logging.getLogger() logger = logging.getLogger()
DEBUG = False DEBUG = False
@@ -113,10 +112,8 @@ class StarRocksSettings(BaseSettings):
def __getitem__(self, item: str) -> Any: def __getitem__(self, item: str) -> Any:
return getattr(self, item) return getattr(self, item)
model_config = ConfigDict( model_config = SettingsConfigDict(
env_file=".env", env_file=".env", env_file_encoding="utf-8", env_prefix="starrocks_"
env_file_encoding="utf-8",
env_prefix="starrocks_",
) )

View File

@@ -254,7 +254,7 @@ class FakeCallbackHandler(BaseCallbackHandler, BaseFakeCallbackHandlerMixin):
) -> Any: ) -> Any:
self.on_retriever_error_common() self.on_retriever_error_common()
def __deepcopy__(self, memo: dict) -> "FakeCallbackHandler": def __deepcopy__(self, memo: dict) -> "FakeCallbackHandler": # type: ignore
return self return self
@@ -388,5 +388,5 @@ class FakeAsyncCallbackHandler(AsyncCallbackHandler, BaseFakeCallbackHandlerMixi
) -> None: ) -> None:
self.on_text_common() self.on_text_common()
def __deepcopy__(self, memo: dict) -> "FakeAsyncCallbackHandler": def __deepcopy__(self, memo: dict) -> "FakeAsyncCallbackHandler": # type: ignore
return self return self

View File

@@ -112,6 +112,14 @@ def test_serializable_mapping() -> None:
"chat_models", "chat_models",
"ChatGroq", "ChatGroq",
), ),
# TODO(0.3): For now we're skipping this test. Need to fix
# so that it only runs when langchain-aws is installed.
("langchain", "chat_models", "bedrock", "ChatBedrock"): (
"langchain_aws",
"chat_models",
"bedrock",
"ChatBedrock",
),
} }
serializable_modules = import_all_modules("langchain") serializable_modules = import_all_modules("langchain")