Orama 嵌入式搜索引擎与 RAG 流水线
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/orama-embeddable-search-engine-rag-pipeline。
技能介绍
要解决的具体问题
在浏览器端或边缘节点做语义检索,通常意味着要把向量数据库和服务端那一整套塞进客户端。传统方案要么依赖外部搜索服务,要么把索引和查询拆成两套系统,嵌入生成、向量存储、相似度计算各管一摊,RAG 的检索链路要自己拼接,工程成本不低。
技能如何工作
这个技能的核心是 Orama——一个体积不到 2KB 的全文、向量与混合搜索引擎,直接在浏览器、服务端或边缘环境运行。
关键能力:
- 多模式检索:全文、向量、混合(hybrid)三种模式一体;
- 内置 RAG 流水线:从文本分块、嵌入到索引构建与检索的链路内建,不需要额外拼装组件;
- 工程友好细节:拼写容错(typo tolerance)、分面搜索(faceted search)、跨语言词干提取;
- 零外部依赖:核心库不依赖其他包,可直接以
npm包或浏览器模块方式引入。
典型流程:
- 初始化时在 schema 中声明向量维度,如
embedding: 'vector[1536]'; - 提供嵌入函数与对应的 TensorFlow.js 后端(如
@tensorflow/tfjs-node或 WebGL 后端); - 写入文档后,即可按全文、向量或混合模式发起检索。
适用边界与注意点
- 向量维度必须在 schema 初始化时显式声明,且需与嵌入模型的输出维度一致,否则写入会失败;
- 嵌入生成需要自行接入 TensorFlow.js 后端,整体包体积会随之增加;
- 2KB 指的是搜索引擎核心库的大小,不代表整个 RAG 链路的体积;
- 分块策略和嵌入模型需要自行选择,技能本身不绑定具体模型。
使用场景
- 在浏览器扩展中做本地知识检索,用户输入关键词即可从离线索引里找回散落的网页笔记
- 在边缘节点为前端页面搭建轻量 RAG,直接对用户输入做向量检索与混合查询,无需后端搜索服务
- 为多语言站点的搜索框加上拼写容错与分面筛选,用户即使拼错词也能从索引中找到结果
- 在服务端为应用搭建混合搜索,用同一套引擎同时处理全文匹配和语义相似度查询
适合人员
- 负责把搜索能力塞进浏览器扩展或客户端的前端工程师,需要在离线环境下完成全文与向量检索
- 为应用选型混合搜索引擎的后端工程师,希望用单一引擎同时覆盖关键词匹配和语义召回
- 给产品加智能检索的全栈开发者,想在一个不到 2KB 的库里跑通 RAG 的检索环节
- 为多语言站点改造搜索框的工程师,需要拼写容错和分面筛选而不想接外部搜索服务