|
from typing import Optional |
|
|
|
from pydantic import Field |
|
from pydantic_settings import BaseSettings |
|
|
|
from mcp_server_mariadb_vector.embeddings.base import EmbeddingProviderType |
|
|
|
|
|
class DatabaseSettings(BaseSettings): |
|
host: str = Field(default="127.0.0.1", alias="MARIADB_HOST") |
|
port: int = Field(default=3306, alias="MARIADB_PORT") |
|
user: str = Field(..., alias="MARIADB_USER") |
|
password: str = Field(..., alias="MARIADB_PASSWORD") |
|
database: str = Field(..., alias="MARIADB_DATABASE") |
|
|
|
|
|
class EmbeddingSettings(BaseSettings): |
|
provider: EmbeddingProviderType = Field( |
|
default=EmbeddingProviderType.OPENAI, alias="EMBEDDING_PROVIDER" |
|
) |
|
model: str = Field(default="text-embedding-3-small", alias="EMBEDDING_MODEL") |
|
openai_api_key: Optional[str] = Field(default=None, alias="OPENAI_API_KEY") |
|
|