murmur-rag is one package with separate entry points. Use the bubble as is, or only the retrieval, or your own model and UI.
- murmur-rag
- createMurmur: ask a question, get a streamed answer and its sources. No UI.
- murmur-rag/rag
- Chunking, BM25 retriever, prompt grounding, citations. Bring your own Retriever for embeddings.
- murmur-rag/indexer
- Index HTML, Markdown or text, in Node or in the browser.
- murmur-rag/llm
- The llm-connect wiring: proxy settings, the visitor's settings store.
- murmur-rag/widget
- The <murmur-chat> element, mountMurmur(), the Markdown renderer.
- npx murmur-rag index
- Index a build folder, a set of files or a live sitemap.xml.
# install, then index your build output
npm install murmur-rag
npx murmur-rag index ./dist --out ./dist/murmur-index.json
// the bubble, from your own bundle
import { mountMurmur } from "murmur-rag/widget";
mountMurmur({ index: "/murmur-index.json", llm: { provider: "anthropic" } });
// or headless, with any AI SDK model
import { createMurmur } from "murmur-rag";
const murmur = createMurmur({ index, model });
const answer = await murmur.ask("What does the Pro plan include?");
for await (const part of answer.textStream) render(part);