39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
|
|
from pydantic import Field, PositiveInt
|
||
|
|
from pydantic_settings import BaseSettings
|
||
|
|
|
||
|
|
|
||
|
|
class WeaviateConfig(BaseSettings):
|
||
|
|
"""
|
||
|
|
Configuration settings for Weaviate vector database
|
||
|
|
"""
|
||
|
|
|
||
|
|
WEAVIATE_ENDPOINT: str | None = Field(
|
||
|
|
description="URL of the Weaviate server (e.g., 'http://localhost:8080' or 'https://weaviate.example.com')",
|
||
|
|
default=None,
|
||
|
|
)
|
||
|
|
|
||
|
|
WEAVIATE_API_KEY: str | None = Field(
|
||
|
|
description="API key for authenticating with the Weaviate server",
|
||
|
|
default=None,
|
||
|
|
)
|
||
|
|
|
||
|
|
WEAVIATE_GRPC_ENABLED: bool = Field(
|
||
|
|
description="Whether to enable gRPC for Weaviate connection (True for gRPC, False for HTTP)",
|
||
|
|
default=True,
|
||
|
|
)
|
||
|
|
|
||
|
|
WEAVIATE_GRPC_ENDPOINT: str | None = Field(
|
||
|
|
description="URL of the Weaviate gRPC server (e.g., 'grpc://localhost:50051' or 'grpcs://weaviate.example.com:443')",
|
||
|
|
default=None,
|
||
|
|
)
|
||
|
|
|
||
|
|
WEAVIATE_BATCH_SIZE: PositiveInt = Field(
|
||
|
|
description="Number of objects to be processed in a single batch operation (default is 100)",
|
||
|
|
default=100,
|
||
|
|
)
|
||
|
|
|
||
|
|
WEAVIATE_TOKENIZATION: str | None = Field(
|
||
|
|
description="Tokenization for Weaviate (default is word)",
|
||
|
|
default="word",
|
||
|
|
)
|