Initial commit: QMDSearch 分层信息检索服务
- FastAPI + Qdrant + Redis + Ollama 技术栈 - L1→L2→L3→chunk 四层分层检索(dense + sparse RRF 融合) - 文档三级总结与 2.5 级回退 - query 解析路由与分类 - /admin 管理页面
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user