feat:完成大部分数据文件上传解析功能

This commit is contained in:
2026-10-08 08:23:01 -07:00
parent 05c050d2ba
commit bb6a9405db
27 changed files with 2675 additions and 18 deletions
+29 -1
View File
@@ -4,7 +4,9 @@ from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path(__file__).resolve().parent.parent / ".env")
PROJECT_ROOT = Path(__file__).resolve().parent.parent
load_dotenv(PROJECT_ROOT / ".env")
@dataclass(frozen=True)
@@ -87,6 +89,26 @@ class Settings:
default_factory=lambda: int(os.getenv("MONGODB_CHECKPOINT_TTL", "604800"))
)
# 上传的数据文件:原文件和解析出的 Parquet 放这个目录,相对路径相对项目根目录;容器部署时挂载出来
data_file_dir: Path = field(
default_factory=lambda: (
PROJECT_ROOT / (os.getenv("DATA_FILE_DIR") or "data/files")
)
)
# 单个数据文件的大小上限(MB)
data_file_max_mb: int = field(
default_factory=lambda: int(os.getenv("DATA_FILE_MAX_MB", "50"))
)
# 数据文件保留时长(秒),从上传时算起,默认 7 天
data_file_ttl: int = field(
default_factory=lambda: int(os.getenv("DATA_FILE_TTL", "604800"))
)
# 模型写的单条数据查询的超时(秒)
data_query_timeout: float = field(
default_factory=lambda: float(os.getenv("DATA_QUERY_TIMEOUT", "10"))
)
# 用户中心:请求携带的 token 交给它校验,换回 user_id
user_center_url: str = field(
default_factory=lambda: (
@@ -125,6 +147,12 @@ class Settings:
raise ValueError("MAX_AGENT_STEPS 必须是正整数")
if self.mcp_tool_timeout <= 0:
raise ValueError("MCP_TOOL_TIMEOUT 必须是正数")
if self.data_file_max_mb < 1:
raise ValueError("DATA_FILE_MAX_MB 必须是正整数")
if self.data_file_ttl < 1:
raise ValueError("DATA_FILE_TTL 必须是正整数")
if self.data_query_timeout <= 0:
raise ValueError("DATA_QUERY_TIMEOUT 必须是正数")
if not 0 <= self.intent_qa_min_probability <= 1:
raise ValueError("INTENT_QA_MIN_PROBABILITY 必须在 0 到 1 之间")