-FTS5检索与Honcho用户建模)
07 · 记忆系统(二)——FTS5检索与Honcho用户建模开场场景:三个月前的那个细节三个月前,你在 Hermes 的某次对话中提到:“我们项目的数据库用 PostgreSQL 15,ORM 用 SQLAlchemy 2.0,连接池配置了 20 个连接。”三个月后的今天,你让 Hermes 帮你写一段数据库连接代码。它没有问"你们用什么数据库",而是直接用了 PostgreSQL + SQLAlchemy 2.0 的连接方式。你愣住了一秒,然后意识到:它记得。但问题是——它怎么做到的?三个月,成百上千次对话,它是怎么在这么多信息中精准找到那一条的呢?答案就是FTS5 全文检索和Honcho 用户建模。一、FTS5 全文检索原理什么是 FTS5FTS5(Full-Text Search 5)是 SQLite 的一个扩展模块,提供高效的全文搜索能力。Hermes 用它来索引所有会话数据。工作原理想象你有一本好几千页的日记(所有历史对话)。要找"PostgreSQL 15"这个词,人眼一页页翻可能需要几小时。但如果你有一个书末索引(索引),把所有重要的词都标上页码,查找就是瞬间的事。FTS5 做的就是这件事:分词:把每条对话消息拆分成词语/词组建索引:为每个词建立到所在消息的映射排序:BM25 算法计算相关性,排在前面的结果最相关检索:根据查询词找到最