Feat/multimodal pipeline #19

Merged
Kronecker merged 9 commits from feat/multimodal-pipeline into main 2026-09-04 20:17:03 +08:00
Owner

概述

完成阶段 F 多模态模型能力,并修复 Embedding 路由、知识库检索及搜索历史持久化问题。

主要变更

模型与多模态能力

  • 默认使用 CPU,支持可选 CUDA 配置。
  • 接入本地 Embedding、语音转文本及声纹模型运行链路。
  • 模型 API 优先调用,调用失败或返回无效时回退到本地模型。
  • 增加模型请求自定义 JSON 配置。
  • 设置页增加 Token 消耗卡片,展示输入、输出及缓存命中等用量。
  • 接入真实媒体处理工作流和模型配置数据。

知识库与搜索

  • 修复已配置本地 Embedding 仍提示不可用的问题。
  • 修复 Windows 环境下本地模型子进程启动问题。
  • 搜索历史改为 SQLite 持久化,支持查询、去重和清空。
  • AI 对话支持检索知识库,并返回来源引用。
  • 保留混合检索失败时回退到全文检索的流程。

索引一致性与本地策略

  • embedding_local_only 策略贯穿笔记解析、保存、索引及重建流程。
  • 冻结单次推理使用的模型配置,避免执行期间配置变化造成向量空间不一致。
  • 按索引策略检索不同向量空间,并融合检索排名。
  • 重建失败时保留原索引,避免留下部分更新的数据。
  • 数据库迁移与版本记录原子提交,支持并发升级及旧版半完成迁移恢复。

Markdown 解析

  • 统一 frontmatter 边界识别,支持 BOM、不同换行符及标准结束分隔符。
  • 正确解析带注释的 YAML 布尔策略。
  • 拒绝重复、无效或未闭合的策略声明,避免静默转入普通 API 路由。
  • 修复普通 Markdown 分割线和围栏代码示例被误判为元数据的问题。
  • 保持正文及引用的 UTF-16 偏移准确。

文档

新增并持续补充《阶段F-Embedding与知识库问题与解决方案》,记录问题表现、原因、修复方案及验证结果。

验证

  • 当前提交 cc617ed:后端全量测试 543 项通过
  • 前端此前完成 96 项测试及构建验证;本轮后端修复未修改前端。
  • git diff --check 通过。
  • 最新审阅未发现新的需要修复的问题,建议合并。

使用说明与验证边界

  • 旧索引需要执行一次完整重建,以应用持久化的本地索引策略。
  • 旧版导出的笔记不会自动补写本地策略标记。
  • embedding_local_only 仅约束索引与 Embedding 路由;启用知识库对话后,检索内容仍可能发送给所选对话模型。
  • 本轮回归未验证真实外部模型 API。
## 概述 完成阶段 F 多模态模型能力,并修复 Embedding 路由、知识库检索及搜索历史持久化问题。 ## 主要变更 ### 模型与多模态能力 - 默认使用 CPU,支持可选 CUDA 配置。 - 接入本地 Embedding、语音转文本及声纹模型运行链路。 - 模型 API 优先调用,调用失败或返回无效时回退到本地模型。 - 增加模型请求自定义 JSON 配置。 - 设置页增加 Token 消耗卡片,展示输入、输出及缓存命中等用量。 - 接入真实媒体处理工作流和模型配置数据。 ### 知识库与搜索 - 修复已配置本地 Embedding 仍提示不可用的问题。 - 修复 Windows 环境下本地模型子进程启动问题。 - 搜索历史改为 SQLite 持久化,支持查询、去重和清空。 - AI 对话支持检索知识库,并返回来源引用。 - 保留混合检索失败时回退到全文检索的流程。 ### 索引一致性与本地策略 - 将 `embedding_local_only` 策略贯穿笔记解析、保存、索引及重建流程。 - 冻结单次推理使用的模型配置,避免执行期间配置变化造成向量空间不一致。 - 按索引策略检索不同向量空间,并融合检索排名。 - 重建失败时保留原索引,避免留下部分更新的数据。 - 数据库迁移与版本记录原子提交,支持并发升级及旧版半完成迁移恢复。 ### Markdown 解析 - 统一 frontmatter 边界识别,支持 BOM、不同换行符及标准结束分隔符。 - 正确解析带注释的 YAML 布尔策略。 - 拒绝重复、无效或未闭合的策略声明,避免静默转入普通 API 路由。 - 修复普通 Markdown 分割线和围栏代码示例被误判为元数据的问题。 - 保持正文及引用的 UTF-16 偏移准确。 ## 文档 新增并持续补充《阶段F-Embedding与知识库问题与解决方案》,记录问题表现、原因、修复方案及验证结果。 ## 验证 - 当前提交 `cc617ed`:后端全量测试 **543 项通过**。 - 前端此前完成 **96 项测试**及构建验证;本轮后端修复未修改前端。 - `git diff --check` 通过。 - 最新审阅未发现新的需要修复的问题,建议合并。 ## 使用说明与验证边界 - 旧索引需要执行一次完整重建,以应用持久化的本地索引策略。 - 旧版导出的笔记不会自动补写本地策略标记。 - `embedding_local_only` 仅约束索引与 Embedding 路由;启用知识库对话后,检索内容仍可能发送给所选对话模型。 - 本轮回归未验证真实外部模型 API。
Kronecker added 9 commits 2026-09-04 20:16:58 +08:00
- 在ChatRequest中添加Citation事件类型,支持引用来源展示
- 实现聊天上下文准备服务,构建带源元数据的受限聊天上下文
- 添加ThreadedProcess类以支持Windows平台的子进程操作
- 改进检索引擎中的错误处理和向量搜索逻辑
- 实现严格的嵌入模型验证和索引重建机制
- 添加前端聊天界面的知识库检索开关
- 实现搜索历史记录功能和错误降级处理
- 更新模型路由设置提示信息以反映索引重建需求
Kronecker merged commit 6bdba2c7f9 into main 2026-09-04 20:17:03 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Kronecker/NotesAgentic#19