Initial commit: QMDSearch 分层信息检索服务

- FastAPI + Qdrant + Redis + Ollama 技术栈
- L1→L2→L3→chunk 四层分层检索(dense + sparse RRF 融合)
- 文档三级总结与 2.5 级回退
- query 解析路由与分类
- /admin 管理页面
This commit is contained in:
2026-07-29 21:24:40 +08:00
commit 51dc8dc4f6
83 changed files with 10794 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
"""统一 API 响应包装与业务异常
响应格式:{"code": 0, "data": ..., "message": "ok"}
错误码约定:0 成功;1001 请求参数校验失败;2000 服务器内部错误。
"""
from typing import Any
def ok(data: Any) -> dict[str, Any]:
"""成功响应包装"""
return {"code": 0, "data": data, "message": "ok"}
def error(code: int, message: str) -> dict[str, Any]:
"""错误响应包装"""
return {"code": code, "data": None, "message": message}
class ApiError(Exception):
"""业务异常:携带错误码与消息,由全局异常处理器转为统一错误响应"""
def __init__(self, code: int, message: str) -> None:
self.code = code
self.message = message
super().__init__(message)