纯 MoonBit 零 FFI 的本地全文检索与 RAG 检索库:中英日分词、BM25 倒排索引、向量索引、RRF 混合检索与 LLM 上下文组装,可编译为 wasm / wasm-gc / js / native 多后端。
# 添加依赖
moon add niuniu513-ask/MoonRetrievelet engine = @lib.Engine::new()
engine.add_document("guide", "MoonBit 是面向云边计算的编程语言。")
engine.add_document("faq", "RAG 是检索增强生成。")
let results = engine.search("RAG 是什么", top_k=3)
let cb = @lib.ContextBuilder::new(max_tokens=500)
println(cb.build("RAG 是什么", results))# 建索引
moon run cmd/main --target native -- index examples/notes demo-index.json
# 检索
moon run cmd/main --target native -- query demo-index.json "MoonBit 黑客松" -k 3
# 生成 LLM 上下文
moon run cmd/main --target native -- context demo-index.json "黑客松奖励" -k 3MoonRetrieve.mbt 包说明
tokenizer.mbt 分词器
chunker.mbt 分块器
index.mbt BM25 倒排索引
vector.mbt 向量索引与 RRF 融合
context.mbt LLM 上下文组装
engine.mbt 一站式引擎
cmd/main/ CLI
examples/notes/ 示例文档
docs/ 申报书与差异化说明moon test # 19+ 个测试
moon check
moon build --target wasm-gcfn ContextBuilder::build(self : ContextBuilder, query : String, results : Array[SearchResult]) -> StringInstall
Download zip纯 MoonBit 零 FFI 的本地全文检索与 RAG 检索库:中英日分词、BM25 倒排索引、向量索引、RRF 混合检索与 LLM 上下文组装,可编译为 wasm / wasm-gc / js / native 多后端。