# 聊天分片

author@sudoskys

## 时间池化技术

人的谈话有一定的主题。在时间上相互关联。
因此机器人可以在一段时间后直接舍弃历史消息。通过检索检索一些历史消息，最仿生。

难点不在于如何切分时间片，而是如何判断当前聊天与历史聊天的关联性。

### 解决方案假设

#### 古典搜索+机械匹配

- 对每个片段进行主题提取，然后相似性排序。
- 对每个片段进行关键词抽取，然后相似性排序。

#### 古典搜索+LLM自选函数

通过 Toolcall 选择匹配的关键词。

#### 向量匹配+LLM结构化导出

向量数据库，然后通过LLM结构化导出主题。检索主题即可。

=====

不管是哪种方案，都很麻烦，在实时性强的系统里，对性能额外要求。向量匹配只能放在后台处理。

#### 投入 Openai 生态

Openai 有一个很好的方案，向量匹配，检索主题。代价是兼容性（其他模型）。
