feat: require explicit runtime configuration
This commit is contained in:
+27
-25
@@ -9,37 +9,39 @@ class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(
|
||||
env_file=".env",
|
||||
env_prefix="KBQA_",
|
||||
extra="ignore",
|
||||
extra="forbid",
|
||||
)
|
||||
|
||||
app_name: str = "KBQA"
|
||||
debug: bool = False
|
||||
app_name: str
|
||||
debug: bool
|
||||
|
||||
dashscope_api_key: str = ""
|
||||
dashscope_base_url: str = "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
||||
chat_model: str = "qwen3.5-flash"
|
||||
embedding_model: str = "text-embedding-v4"
|
||||
embedding_dim: int = 1024
|
||||
dashscope_api_key: str
|
||||
dashscope_base_url: str
|
||||
chat_model: str
|
||||
embedding_model: str
|
||||
embedding_dim: int
|
||||
|
||||
database_url: str = "sqlite+aiosqlite:///./data/kbqa.sqlite3"
|
||||
milvus_uri: str = "./data/milvus/kbqa.db"
|
||||
raw_data_dir: Path = Path("./data/raw")
|
||||
database_url: str
|
||||
milvus_uri: str
|
||||
raw_data_dir: Path
|
||||
|
||||
chunk_size: int = Field(default=500, ge=1)
|
||||
chunk_overlap: int = Field(default=50, ge=0)
|
||||
retrieval_top_k: int = Field(default=5, ge=1, le=100)
|
||||
max_research_searches: int = Field(default=3, ge=1, le=10)
|
||||
max_sources: int = Field(default=8, ge=1, le=50)
|
||||
history_message_limit: int = Field(default=20, ge=1, le=200)
|
||||
max_upload_mib: int = Field(default=20, ge=1, le=1024)
|
||||
max_query_length: int = Field(default=10_000, ge=1, le=100_000)
|
||||
cors_origins: list[str] = [
|
||||
"http://localhost:5173",
|
||||
"http://127.0.0.1:5173",
|
||||
]
|
||||
chunk_size: int = Field(ge=1)
|
||||
chunk_overlap: int = Field(ge=0)
|
||||
retrieval_top_k: int = Field(ge=1, le=100)
|
||||
max_research_searches: int = Field(ge=1, le=10)
|
||||
max_sources: int = Field(ge=1, le=50)
|
||||
history_message_limit: int = Field(ge=1, le=200)
|
||||
max_upload_mib: int = Field(ge=1, le=1024)
|
||||
max_query_length: int = Field(ge=1, le=100_000)
|
||||
cors_origins: list[str]
|
||||
|
||||
run_live_tests: bool = False
|
||||
live_test_file: Path | None = None
|
||||
run_live_tests: bool
|
||||
live_test_file: Path
|
||||
|
||||
langsmith_tracing: bool = Field(validation_alias="LANGSMITH_TRACING")
|
||||
langsmith_endpoint: str = Field(validation_alias="LANGSMITH_ENDPOINT")
|
||||
langsmith_api_key: str = Field(validation_alias="LANGSMITH_API_KEY")
|
||||
langsmith_project: str = Field(validation_alias="LANGSMITH_PROJECT")
|
||||
|
||||
@field_validator("chunk_overlap")
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user