新闻详情

新闻详情

首页 / 资讯中心 / 详情

ReadAny本地向量库揭秘:Transformers.js+Web Worker嵌入,离线语义搜索怎么做

发布时间:2026/10/2 17:26:45来源:尧图网络
ReadAny本地向量库揭秘:Transformers.js+Web Worker嵌入,离线语义搜索怎么做
ReadAny本地向量库揭秘Transformers.jsWeb Worker嵌入离线语义搜索怎么做【免费下载链接】ReadAnyAI-powered cross-platform e-book reader with semantic search, RAG chat, local vector store, notes, TTS, and WebDAV sync.项目地址: https://gitcode.com/gh_mirrors/re/ReadAnyReadAny 是一款开源的 AI 电子书阅读器它的本地向量库让离线语义搜索和 RAG 智能问答完全在设备本地运行——不依赖云端 API隐私安全、即搜即答。这篇文章将拆解 ReadAny 如何实现内置哪些嵌入模型、如何用 Transformers.js 在 Web Worker 中做向量推理、向量又存在哪里以及向量与关键词混合搜索是怎么工作的。 为什么要做本地向量库传统电子书搜索只认关键词搜时间管理就找不到如何分配精力。而 ReadAny 的 AI 智能问答 功能基于语义搜索——它把全书内容切成文本块chunk用嵌入模型转成高维向量你的提问也变成向量然后计算语义相似度。关键在于本地二字嵌入模型是约 20MB 级的小型 ONNX 模型首次使用时下载并缓存之后离线也能工作。这意味着没有 API 密钥、没有按量计费你的书和内容也永远不会离开设备。 四步流水线从一本书到向量索引ReadAny 的向量化流程由 vectorize.ts 编排分三个阶段分块Chunkingchunker.ts 按 token 目标长度把每章切成带重叠的文本块保证段落语义完整嵌入Embedding批量调用本地嵌入引擎把每个文本块转成向量batchSize20带进度回调索引Indexing向量写入本地向量库并记录模型出处provenance——这是后续搜索正确性的保险丝。切换嵌入模型后旧索引与新查询维度不匹配时ReadAny 会明确提示你重新向量化而不是返回错误的结果。 内置嵌入模型小身材大能量ReadAny 内置了 4 个通过 Transformers.js 本地运行的小模型定义在 builtin-embedding-models.ts模型大小向量维度适用语言all-MiniLM-L6-v2 ⭐推荐~23 MB384英文BGE Small EN v1.5~33 MB384英文BGE Small ZH v1.5~24 MB512中文Multilingual E5 Small~118 MB384多语言这些模型下载后缓存在浏览器/文件系统的 Cache Storage 中embedding-worker.ts 甚至提供了clearCache指令帮你释放空间。中文书推荐 BGE Small ZH多语言书库则选 Multilingual E5。⚡ Web Worker推理不卡 UI 的秘密Transformer 模型推理是 CPU 密集型任务——如果在主线程跑界面会直接冻住。ReadAny 的解法是把整个推理进程搬进Web Worker主线程通过postMessage发送load加载模型、embed批量嵌入、dispose释放等指令Worker 内动态加载 Transformers.js 的feature-extractionpipeline逐条生成向量并用均值池化 归一化pooling: mean, normalize: true保证余弦相似度计算的一致性每处理 2 条文本就回传一次embed:progress让前端能显示实时进度条。这套主线程调度 Worker 干活的模式封装在 local-embedding-service.ts 的WebWorkerEmbeddingEngine中而且引擎是可插拔的——桌面端用 Web Worker移动端则无缝切换到原生 ONNX 引擎上层代码完全无感。 向量存在哪里sqlite-vec 虚拟表桌面端Tauri的向量库由 Rust 后端实现vector/mod.rs核心是sqlite-vec 扩展向量写入 SQLite 的vec0虚拟表vec_embeddings维度在建表时固定如float[384]另有一张id_mapping表把 chunk ID 映射到向量行方便按书籍删除和重建索引开启 WAL 模式保证读写并发前端通过 tauri-vector-db.ts 的vector_search等指令调用。前端的统一抽象是 vector-db.ts 中的IVectorDB接口。若 Rust 后端不可用比如纯浏览器环境search.ts 会自动降级为内存余弦相似度搜索功能不中断。 不只是向量混合搜索更稳ReadAny 的默认搜索模式是混合搜索向量 BM25向量侧负责意思相近回答如何提高专注力能召回时间管理章节BM25 侧基于倒排索引做关键词精确匹配对专有名词、代码、人名更强两路结果用RRF倒数排名融合合并排序取各自所长。此外还带 5 分钟内存缓存和模型一致性校验provenance 匹配确保换模型、换端点不会张冠李戴。 小结一套可以借鉴的本地 RAG 架构ReadAny 的本地向量库证明了一个 23MB 的嵌入模型 Web Worker sqlite-vec就足以支撑离线语义搜索。几个值得借鉴的设计嵌入引擎可插拔Worker / 原生 ONNX跨平台零改动向量库带模型出处记录维度不匹配时显式报错而非静默出错搜索走向量 BM25 混合路线向量失败时优雅降级推理放 Worker、存储用 SQLite性能与资源占用平衡。想深入阅读源码可以从这几个文件入手嵌入 Workerembedding-worker.ts向量化流水线vectorize.ts混合搜索search.tsRust 向量库vector/mod.rs【免费下载链接】ReadAnyAI-powered cross-platform e-book reader with semantic search, RAG chat, local vector store, notes, TTS, and WebDAV sync.项目地址: https://gitcode.com/gh_mirrors/re/ReadAny创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

记忆清洗:无用信息清理提升执行效率 2026/10/2 20:36:29

记忆清洗:无用信息清理提升执行效率

📝 本章学习目标:本章深入探讨记忆机制,这是AI Agent持续执行的关键能力。通过本章学习,你将全面掌握"记忆清洗:无用信息清理提升执行效率"这一核心主题。一、引言:为什么这个话题如此重要 在AI …

阅读更多 →
TaoToken 视角:adaptive cursor sharing 与 SQL Plan Management 如何协同? 2026/10/2 20:36:29

TaoToken 视角:adaptive cursor sharing 与 SQL Plan Management 如何协同?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Python 链接 MySQL 数据库:TaoToken 统一 Key 通道下的连接配置与排错指南 2026/10/2 20:36:29

Python 链接 MySQL 数据库:TaoToken 统一 Key 通道下的连接配置与排错指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
2026年零基础OpenClaw(Clawdbot)部署接入skills喂饭级教程:TaoToken统一Key打通全流程 2026/10/2 20:36:29

2026年零基础OpenClaw(Clawdbot)部署接入skills喂饭级教程:TaoToken统一Key打通全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
数据工作者必懂的5个概率分布:从业务直觉到Python验证 2026/10/2 20:36:29

数据工作者必懂的5个概率分布:从业务直觉到Python验证

1. 这不是数学课,是数据工作者的“工具箱说明书”你打开一份用户行为报表,发现某功能的点击率在不同渠道间差异很大;调试一个推荐模型时,A/B测试组的转化率波动超出预期;甚至只是给老板写周报,想说明“本月…

阅读更多 →
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置 2026/10/2 20:36:22

Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置

Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置1. 服务介绍Chrony 是 Debian 常用的 NTP 时间同步服务,用于让服务器与可信时间源保持一致。准确时间会直接影响 Kerberos、证书校验、日志审计、数据库事务和集群服务。本文同时整理一组 Debian 综合实训中的存…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉