55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
from pydantic import Field, PositiveInt
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class AlibabaCloudMySQLConfig(BaseSettings):
|
|
"""
|
|
Configuration settings for AlibabaCloud MySQL vector database
|
|
"""
|
|
|
|
ALIBABACLOUD_MYSQL_HOST: str = Field(
|
|
description="Hostname or IP address of the AlibabaCloud MySQL server (e.g., 'localhost' or 'mysql.aliyun.com')",
|
|
default="localhost",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_PORT: PositiveInt = Field(
|
|
description="Port number on which the AlibabaCloud MySQL server is listening (default is 3306)",
|
|
default=3306,
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_USER: str = Field(
|
|
description="Username for authenticating with AlibabaCloud MySQL (default is 'root')",
|
|
default="root",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_PASSWORD: str = Field(
|
|
description="Password for authenticating with AlibabaCloud MySQL (default is an empty string)",
|
|
default="",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_DATABASE: str = Field(
|
|
description="Name of the AlibabaCloud MySQL database to connect to (default is 'dify')",
|
|
default="dify",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_MAX_CONNECTION: PositiveInt = Field(
|
|
description="Maximum number of connections in the connection pool",
|
|
default=5,
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_CHARSET: str = Field(
|
|
description="Character set for AlibabaCloud MySQL connection (default is 'utf8mb4')",
|
|
default="utf8mb4",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_DISTANCE_FUNCTION: str = Field(
|
|
description="Distance function used for vector similarity search in AlibabaCloud MySQL "
|
|
"(e.g., 'cosine', 'euclidean')",
|
|
default="cosine",
|
|
)
|
|
|
|
ALIBABACLOUD_MYSQL_HNSW_M: PositiveInt = Field(
|
|
description="Maximum number of connections per layer for HNSW vector index (default is 6, range: 3-200)",
|
|
default=6,
|
|
)
|