Skip to content

[Bug/Feature] 合并 ChatLab 会话时新会话无语义向量:应移植原会话已建向量 + 仅对新增消息增量生成 #378

Description

@Ruoan-486

描述

合并 ChatLab 会话时,合并出的新会话完全没有语义向量buildMergedOutput 是纯装配函数,只输出合并后的消息数据,没有任何对语义向量/embedding 的处理

现状

  • 合并功能(merge.tsbuildMergedOutput)产出全新会话(导出 → 重新导入落地)。
  • buildMergedOutputpackages/node-runtime/src/merger/index.ts)只做纯去重+排序,不处理向量。
  • 新会话的 semantic-index 要么为空,要么依赖手动/API 触发(POST /_web/ai/semantic-index/build-pendingenablebuildrebuild)。
  • 结果:用户合并前各原会话已建好的语义向量全部作废;新会话要么向量为空(AI 检索不到),要么必须全量从零重建(重复耗时/耗 token)。

期望

合并产生新会话时,应当:

  1. 移植原各源会话已建成的语义向量(按 消息→chunk→embedding 的对应关系继承);
  2. 只对新增/去重后无向量的消息增量生成 embedding;
  3. 而不是让新会话向量从零全量重建。

补充背景

合并功能常被用来规避「同会话自动增量匹配失败」(buildPrivateIdentity 因 UID/UIN 不一致或 ownerId 缺失而 stable-id 失败、trailing-messages 不稳定 → 必须走合并)。因此合并后向量丢失/需全量重建的影响面比想象中更大。

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions