wanghanlin
|
062ef0cf57
|
feat(pipeline): 新增 AI 执行链节点开关,后台可关闭首 token 前的耗时节点
默认 MULTI_QUERY 策略下,一次对话在产出首个 token 前需串行执行意图路由 LLM
分类(1 次 LLM)、查询重写(1 次 LLM + 4 路 embedding)、FAQ 语义匹配(0~2 次
embedding),是「AI 回复慢」的主因。现提供可后台配置的开关按需关闭。
- 新增 PipelineToggleService:4 个开关落 system_config,用 volatile 不可变
快照读取(ApplicationReadyEvent 载入 + 写时整体重建),规避
SystemConfigService 无缓存直查在 hot path 上每请求 3~4 次的开销;
保存后即时生效,无需重启、无需清缓存
- 新增 PipelineToggleController:GET/PUT /pipeline-toggle(admin)
- ChatPipeline.routeIntent 可跳过 LLM 意图分类;删除无调用点的死代码
shouldBypassRag(内部会重复触发一次意图 LLM 调用)
- RagPipeline 可关闭查询重写、可将 MULTI_QUERY 降级为单路检索,两者复用
rewriteQuery 既有的「未知策略返回原文」降级分支,不新增代码路径
- FaqMatchEngine 可跳过第三级语义匹配,保留无网络调用的精确/关键词匹配
- PipelineFlow.vue 新增开关面板与极速/均衡/精准预设,被关闭的节点在流程图
上置灰虚线;菜单项限制为 admin
- 种子数据默认全部 true,保持升级后行为与改动前完全一致;
DatabaseInitConfig 与 init-database.sql 已同步
|
3 weeks ago |
wanghanlin
|
90754d15b2
|
perf(rag): MULTI_QUERY 多路检索并行化并避免 FAQ 重复语义匹配
- 新增 ragRetrieveExecutor 有界线程池 + knowledge.rag.multiquery.parallel 开关:
多路检索默认并行执行(各路 embedding HTTP + PG 查询相互独立,可把 N 路串行降为 1 段最慢路),
按原查询顺序合并去重,结果与串行路径一致;单路异常降级为空不拖垮整次检索;
饱和时退回请求线程串行(CallerRuns),供高并发/embedding 侧限流时置 false 回退
- ChatPipeline/RagPipeline:FAQ 高置信已「干净跑完」完整三级匹配仍未命中时,进入 RAG 检索跳过
重复的 FAQ 匹配(FaqMatchOutcome 携带 completedCleanly 标记),避免同一请求两次 FAQ 语义 embedding;
异常降级的 miss 不跳过,防止误跳
- FaqMatchEngine:语义匹配前加 faq_embedding 门控,作用域内无向量候选时直接返回未命中,
省掉一次注定失败的语义 embedding HTTP
|
1 month ago |
wanghanlin
|
a2dff86923
|
feat(rag): FAQ 匹配支持分类隔离并在闲聊意图前精准匹配
FaqMatchEngine 三级匹配(精确/关键词/语义)新增 categoryIds 分类过滤,授权分类与未分类 FAQ 可见;ChatPipeline 闲聊(CHITCHAT)意图前先尝试 FAQ 精准匹配,命中则短路返回标准答案;同步更新 PipelineFlow 架构图
|
1 month ago |
wanghanlin
|
dec3d19f3c
|
用户认证/运营看板/API开放平台
|
3 months ago |
wanghanlin
|
f7eb0bfaf1
|
feat(P0): 完成阶段一全部需求 — 混合检索/内容安全/用户反馈/FAQ精准匹配
P0-001 混合检索+重排序引擎:
- HybridSearchService 支持 VECTOR/KEYWORD/HYBRID 三种检索模式
- RrfFusion RRF 融合算法 (k=60)
- RerankerService 支持 DashScope + OpenAI 兼容多提供商
- vector_store 新增 content_tsvector 列 + GIN 索引 + 触发器
- DocSearch.js 增加检索模式下拉选择
P0-004 内容安全过滤:
- ContentSafetyService DFA 字典树引擎(volatile + copy-on-write 线程安全)
- ContentSafetyAdvisor BaseAdvisor 实现,输入/输出双向审核
- SensitiveWordService 敏感词 CRUD + 批量导入 + 字典树热加载
- SensitiveWordManager.js 前端管理组件
P0-002 用户反馈系统:
- MessageFeedbackService upsert 语义反馈提交 + 统计 API
- ChatPanel.js 添加 👍/👎 反馈按钮
- Chat SDK handleFeedback() 对接后端 POST /feedback
- ConversationService 导出集成反馈信息
P0-003 意图识别+FAQ精准匹配:
- IntentRouter LLM 意图分类(FAQ/RAG/CHITCHAT)
- FaqMatchEngine 三级匹配(精确→关键词→向量语义,阈值 0.85)
- FaqService FAQ CRUD + 异步向量化
- FaqManager.js 前端管理(CRUD + 批量导入/导出 + 启用/禁用)
共享变更:
- DatabaseInitConfig 新增 5 张表 + 全文检索初始化
- api.js 新增反馈/敏感词/FAQ API 封装
- app.js 注册 SensitiveWordManager + FaqManager 组件
- application.yml 新增 knowledge.faq.semantic-threshold 配置
|
3 months ago |