← all repositories
mayooear/ai-pdf-chatbot-langchain

A textbook RAG chatbot, frozen in amber

An O'Reilly book companion project that ingests PDFs and answers questions via LangGraph—now archived for reference.

16.5k stars TypeScript RAG · SearchAgentsChat Assistants
ai-pdf-chatbot-langchain
Velocity · 7d
+14
★ / day
Trend
steady
star history

What it does

This monorepo is a full-stack template for chatting with PDFs. Upload documents through a Next.js frontend; the backend parses them into embeddings, stores them in Supabase, and retrieves relevant chunks to answer questions via OpenAI (or another LLM). Responses stream in real time, with clickable source references.

The interesting bit

The architecture is split into two LangGraph state machines—one for ingestion, one for retrieval—which you can inspect and debug in LangGraph Studio. It’s essentially a well-documented reference implementation for the O’Reilly book Learning LangChain, not a production SaaS.

Key highlights

  • Monorepo with Turborepo: separate backend (LangGraph/Node) and frontend (Next.js/React)
  • Two distinct graphs: ingestion_graph.ts for indexing, retrieval_graph.ts for Q&A
  • Vector storage via Supabase with pgvector; configurable for other stores
  • Streaming SSE responses with cited source chunks
  • LangSmith tracing support built in for debugging

Caveats

  • Not maintained: the README explicitly states “not actively maintained” and warns against expecting responses to issues or PRs
  • Chat history is session-only (not persisted); only ingested documents survive across sessions
  • Requires manual Supabase setup (table + match_documents function) before first use

Verdict

Good for developers learning LangChain/LangGraph who want a working reference to trace through. Skip it if you need an actively supported drop-in PDF chatbot—this is a teaching tool, not a product.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.