创建 RAG 知识库实例。
dbPath 指定数据库路径,默认为内存数据库。
示例: string.rag("./knowledge.db")
轻量 RAG 知识库。
支持向量搜索、关键词搜索(BM25)、混合搜索(RRF融合)。
使用 SQLite 存储,适合小规模数据集(万级分块以下)。
创建 RAG 知识库实例
按段落分块,尽量保持段落完整。
maxSize 指定单块最大字符数,默认 800。
返回分块数组。
将文本按固定大小分块。
chunkSize 默认 500 字符,overlap 默认 50。
会尝试在句子边界切分。
返回分块数组。
添加单个分块。
docId 文档标识(通常为路径)。
content 分块文本内容。
embedding 向量数组,可为 null 后续补充。
chunkIdx 分块序号,默认 0。
meta 可选元数据表。
返回分块 ID。
批量添加分块(使用事务)。
chunks 格式: { { docId; content; embedding; chunkIdx; meta }, ... }
关闭数据库连接。
返回分块总数。
获取所有文档 ID 列表。
获取指定 ID 的分块。
获取未向量化的分块列表。
用于后续批量向量化。
检查文档是否已存在。
删除指定文档的所有分块。
混合搜索(RRF 融合)。
query 查询文本,embedding 查询向量。
alpha 为向量权重(0~1),默认 0.5。
返回融合排序的结果数组,包含 score/vecScore/kwScore。
BM25 关键词搜索。
自动分词并过滤停用词。
返回按相关度排序的结果数组。
向量相似度搜索。
返回按相似度排序的结果数组。
更新指定分块的向量。
批量更新向量。
embeddings 格式: { [chunkId] = vector, ... }