"""Конфигурация сервера — читается из .env и env-переменных."""
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
)
# PostgreSQL
database_url: str = Field(
default="postgresql://postgres:postgres@localhost:5432/vmk_data",
description="URL подключения к PostgreSQL (asyncpg)",
)
db_pool_min_size: int = Field(default=2, description="Минимум соединений в пуле")
db_pool_max_size: int = Field(default=10, description="Максимум соединений в пуле")
db_query_timeout: int = Field(
default=30, description="Таймаут SQL-запросов в секундах"
)
# Ollama / Embeddings
ollama_base_url: str = Field(
default="http://192.168.1.75:11434",
description="Базовый URL Ollama API",
)
ollama_embed_model: str = Field(
default="nomic-embed-text",
description="Модель для генерации эмбеддингов",
)
ollama_embed_dimensions: int = Field(
default=768, description="Размерность вектора эмбеддинга"
)
ollama_request_timeout: float = Field(
default=60.0, description="Таймаут запроса к Ollama в секундах"
)
# MCP Server
mcp_server_name: str = Field(default="vmk-data-mcp")
mcp_port: int = Field(default=8080, description="Порт HTTP транспорта")
settings = Settings()