cd ~ / projects

Personal RAG Chat Platform — AI-Powered Knowledge Assistant

personal · 2026

Full-stack AI knowledge assistant with end-to-end RAG: document upload → hierarchical chunking → embeddings → Weaviate semantic search. Multi-agent orchestration via LangGraph LLM-as-router (supervisor agent routes to RAG search / web search via LLM tool-calling in a stateful loop). NestJS decorator-based plugin system with MCP integration. SSE-streamed token-by-token responses with MySQL-backed LangGraph checkpointing. Multi-LLM via OpenRouter (OpenAI / Anthropic / Gemini) with fallback chains.

What it does

A private knowledge assistant: upload documents, ask questions, get grounded answers with citations. The retrieval path is hierarchical chunking → embeddings → Weaviate semantic search; the generation path is a LangGraph supervisor that routes between RAG search and web search via tool-calling.

Routing the supervisor

supervisor.ts
const route = async (state: AgentState) => {
  const tool = await llm.bindTools([ragSearch, webSearch]).invoke(state.messages)
  return tool.tool_calls?.length ? "tools" : "answer"
}
github
Personal RAG Chat Platform — AI-Powered Knowledge Assistant · sharath@portfolio