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:
2026-07-31 12:05:25 +08:00
parent fdb664e546
commit 2ab8b56a01
52 changed files with 7030 additions and 171 deletions
+7 -4
View File
@@ -1,6 +1,7 @@
"""检索结果 AI 总结
对检索返回的 chunk 命中结果,调用 Ollama 本地模型生成一段针对用户 query 的总结回答。
对检索返回的 chunk 命中结果,调用 LLMOllama 或 OpenAI 兼容服务,由
runtime_settings.models.query 决定)生成一段针对用户 query 的总结回答。
仅基于检索结果内容,不编造未提及的信息。
"""
@@ -8,7 +9,7 @@ import structlog
from app.config import settings
from app.models.search import SearchHit
from app.services.ollama import OllamaClient
from app.services.llm import LLMClient, create_llm_client
logger = structlog.get_logger()
@@ -16,8 +17,10 @@ logger = structlog.get_logger()
class ResultSummarizer:
"""检索结果总结器"""
def __init__(self, ollama: OllamaClient | None = None) -> None:
self.ollama = ollama or OllamaClient()
def __init__(self, ollama: LLMClient | None = None) -> None:
# 默认按 runtime_settings.models.query 选择 LLM 实现;
# 测试可通过 ollama 参数注入替身。
self.ollama = ollama or create_llm_client("query")
async def summarize(self, query: str, hits: list[SearchHit]) -> str:
"""对检索结果生成针对 query 的总结