feat: 新增多格式文件上传入库与认证体系
- 新增 JWT 认证模块,支持登录/注册/用户管理 - 新增文件上传接口,支持 .txt/.md/.html/.pdf/.docx 等格式解析入库 - 新增检索结果 AI 总结功能 - 新增文本去重缓存机制 - 新增全局认证夹具简化测试 - 新增配置项与环境变量支持 - 完善文档与测试覆盖
This commit is contained in:
@@ -54,6 +54,27 @@ class Settings(BaseSettings):
|
||||
# 分块参数
|
||||
chunk_max_chars: int = 800 # chunk 超长二次切分阈值
|
||||
|
||||
# 认证(JWT)
|
||||
jwt_secret_key: str = "" # JWT 签名密钥,为空时启动自动生成(仅开发,生产必填)
|
||||
jwt_algorithm: str = "HS256"
|
||||
jwt_expire_minutes: int = 1440 # token 有效期(分钟),默认 24 小时
|
||||
auth_register_enabled: bool = True # 是否开放 POST /auth/register
|
||||
default_admin_username: str = "admin" # 启动时自动创建的默认管理员用户名
|
||||
default_admin_password: str = "" # 默认管理员密码,为空则不创建默认管理员
|
||||
|
||||
# 文件上传
|
||||
upload_dir: str = "./uploads" # 原始文件保存目录(相对路径以工作目录为基)
|
||||
upload_max_size_mb: int = 20 # 单文件大小上限(MB)
|
||||
upload_allowed_extensions: str = ".txt,.md,.html,.htm,.pdf,.docx" # 允许上传的扩展名(逗号分隔)
|
||||
|
||||
# PDF OCR(图片型/扫描件降级,pypdf extract_text 为空时触发)
|
||||
pdf_ocr_enabled: bool = True # 是否启用 OCR 降级(关闭则扫描件按"无法提取文本"拒绝入库)
|
||||
pdf_ocr_max_pages: int = 30 # 单文件 OCR 页数上限,超过仅前 N 页
|
||||
pdf_ocr_dpi: int = 200 # 渲染 DPI(越高越准但越慢,72~300 合理)
|
||||
|
||||
# 检索结果 AI 总结
|
||||
result_summary_max_hits: int = 5 # 参与总结的最大 hit 条数(控制 prompt 长度)
|
||||
|
||||
model_config = {"env_prefix": "", "case_sensitive": False}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user