徐涛
d4c4d8fa3c
feat(document): 实现 Document 类型与 RecursiveCharacterSplitter 分割器
新增 Phase 14 核心模块,为 RAG 管线提供 split → embed 阶段的底层支撑。
新增内容:
- Document 类型(id/content/metadata/mime_type 四字段 + new/from_raw 构造器)
- RecursiveCharacterSplitter(两阶段算法:按 separator 优先级递归分割 + 贪心合并 overlap 滑动窗口)
- Embedding trait(异步向量化抽象,复用 LlmError)+ MockEmbedding(sin-hash 零依赖伪随机实现)
- 19 个 Document 单元测试 + 6 个 Embedding 单元测试
- document_demo 示例(Document → Splitter → MockEmbedding → InMemoryVectorRetriever 端到端演示)
模块注册:
- src/lib.rs: pub mod document + pub use Document
- src/llm.rs: pub mod embedding
设计文档:docs/20-phase14-document-and-embedding.md(1417 行,含背景/调研/方案对比/实施计划)
零新外部依赖,所有长度比较以 Unicode 字符为单位(chars_len),CJK 文本行为正确。
2026-07-09 13:08:35 +08:00
..
2026-06-01 23:06:50 +08:00
2026-06-01 23:06:50 +08:00
2026-06-02 08:51:42 +08:00
2026-06-02 22:19:15 +08:00
2026-06-07 10:23:36 +08:00
2026-06-07 23:01:28 +08:00
2026-06-10 22:38:32 +08:00
2026-06-11 22:49:27 +08:00
2026-06-22 08:43:48 +08:00
2026-06-15 23:07:33 +08:00
2026-06-22 06:34:11 +08:00
2026-06-17 22:55:47 +08:00
2026-06-18 06:51:13 +08:00
2026-06-22 06:52:04 +08:00
2026-06-17 22:55:47 +08:00
2026-06-15 23:07:33 +08:00
2026-06-30 22:59:05 +08:00
2026-06-30 22:59:05 +08:00
2026-06-30 22:22:12 +08:00
2026-06-30 22:22:12 +08:00
2026-07-03 14:13:30 +08:00
2026-07-05 07:32:19 +08:00
2026-07-05 10:46:46 +08:00
2026-07-05 16:54:29 +08:00
2026-07-05 21:04:31 +08:00
2026-07-08 23:19:24 +08:00
2026-07-06 09:46:04 +08:00
2026-07-06 14:53:00 +08:00
2026-07-08 22:55:17 +08:00
2026-07-09 13:08:35 +08:00
2026-06-09 22:32:48 +08:00
2026-06-09 22:32:59 +08:00
2026-06-10 22:22:18 +08:00
2026-06-07 22:42:49 +08:00
2026-07-06 21:55:03 +08:00
2026-06-10 06:52:24 +08:00
2026-07-04 10:19:54 +08:00
2026-07-09 06:19:43 +08:00