node-ai-ragbot
Version:
Node.js backend package for building AI chatbots and voicebots with Retrieval-Augmented Generation (RAG). It ingests website pages or local files (PDF, DOCX, TXT, MD), creates embeddings with LangChain + OpenAI, stores them in a fast in-memory vector data
27 lines (21 loc) • 829 B
JavaScript
// src/index.js
const defaults = require("./config/defaults");
const { normalizeConfig } = require("./config/validate");
const { buildVectorStore } = require("./rag/builder");
const { makeChatHandler, makeVoiceHandler } = require("./http/handlers");
const adapters = require("./http/adapters");
/**
* Initialize vector store + framework-agnostic handlers.
*/
async function initRagVoiceBot(userConfig = {}) {
const cfg = normalizeConfig(userConfig, defaults);
const vectorStore = await buildVectorStore(cfg, cfg.logger);
const chatHandler = makeChatHandler({ vectorStore, cfg, logger: cfg.logger });
const voiceHandler = makeVoiceHandler({
vectorStore,
cfg,
logger: cfg.logger,
});
return { vectorStore, cfg, chatHandler, voiceHandler, adapters };
}
module.exports = { initRagVoiceBot, adapters };