feat: 完成全量功能开发,包括前端管理后台与后端服务优化
此提交实现了完整的知识库管理系统: 1. 新增Vue3 + Antd Vue前端管理后台,包含登录、文档管理、检索、类目设置等完整页面 2. 重构后端LLM调用抽象层,支持Ollama与OpenAI兼容服务动态切换 3. 调整默认嵌入模型配置为本地bge-m3模式 4. 优化入库任务去重逻辑与缓存清理机制 5. 完善Docker镜像构建与docker-compose部署配置 6. 修复多项测试用例与兼容性问题 7. 新增运行时配置API,支持动态调整系统参数
This commit is contained in:
@@ -5,6 +5,9 @@ DELETE /documents 加了 Depends(require_admin)。这里通过 autouse 夹具把
|
||||
统一替换为返回固定 admin AuthUser 的 lambda,使现有 API 测试无需改动即可通过认证。
|
||||
单个测试需要走真实认证逻辑时(如 tests/test_auth.py),可在测试函数内
|
||||
pop 掉对应 override,autouse fixture yield 后会统一 clear。
|
||||
|
||||
另外清理 LLM 客户端 / 解析插件 / 去重策略三处进程级缓存,避免跨测试串扰
|
||||
(不同测试可能注入不同的 redis/ollama 实例,缓存按配置签名而非实例区分)。
|
||||
"""
|
||||
|
||||
from datetime import UTC, datetime
|
||||
@@ -25,3 +28,24 @@ def override_auth():
|
||||
app.dependency_overrides[require_admin] = lambda: TEST_USER
|
||||
yield
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _invalidate_runtime_caches():
|
||||
"""每个测试前后清理 LLM/解析插件/去重策略进程级缓存
|
||||
|
||||
这三处缓存按 runtime_settings 配置签名而非实例区分,跨测试若配置相同
|
||||
会复用旧实例(绑定到上个测试的 redis/ollama 替身),导致串扰。
|
||||
"""
|
||||
# 延迟导入避免循环依赖
|
||||
from app.core.dedup import invalidate_dedup_strategy_cache
|
||||
from app.core.file_parser import invalidate_parser_plugin_cache
|
||||
from app.services.llm import invalidate_llm_client_cache
|
||||
|
||||
invalidate_llm_client_cache()
|
||||
invalidate_parser_plugin_cache()
|
||||
invalidate_dedup_strategy_cache()
|
||||
yield
|
||||
invalidate_llm_client_cache()
|
||||
invalidate_parser_plugin_cache()
|
||||
invalidate_dedup_strategy_cache()
|
||||
|
||||
Reference in New Issue
Block a user