知识库(RAG)
IriX 内置基于 RAG(检索增强生成)的知识库,可对文档进行语义检索。其核心设计是职责分离:向量存取与检索由 Rust 负责,embedding 生成统一走 HTTP 服务。
| 职责 | 承担方 | 说明 |
|---|---|---|
| 向量存取与相似检索 | vector_store crate |
rusqlite + sqlite-vec,不做 embedding |
| embedding 请求 | HttpFfiService(http_client crate) |
调用 AI 模型 API 生成向量 |
| 组装与业务逻辑 | knowledge_service.dart |
组装请求、传入向量、处理结果 |
文档内容 │ ├──► embedding 请求(Rust HttpFfiService 调 AI 模型 API) │ ▼向量 ──► vector_store(sqlite-vec 存储) │查询:查询文本 ──► embedding ──► 相似检索 ──► 返回相关片段- 入库:文档切分后,经 Rust
HttpFfiService调用 AI 模型 API 生成 embedding 向量,写入vector_store - 检索:查询时生成查询向量,在向量库中做相似检索,返回最相关的片段
- 组装:
knowledge_service.dart负责两端的组装与业务处理
