Chat with PDF

Chat with PDF

A full-stack, AI‑powered web application allowing users to upload and interactively ask questions about PDF documents. Built with Vue/Nuxt and deployed on Cloudflare’s edge infrastructure using NuxtHub, this app performs hybrid search (sparse + dense) to retrieve relevant PDF chunks in real time, then streams answers via server‑sent events. It's optimized for high performance and scalability.

Key Features

  • Hybrid RAG Search: Combines BM25 full-text retrieval (Cloudflare D1) with dense embedding search (Cloudflare Vectorize).
  • Query Rewriting: Uses LLM to generate multiple query variants for better retrieval.
  • Merged Ranking: Results are unified via Reciprocal Rank Fusion, from which top-10 chunks are sent as context.
  • Streamed Responses: Answers stream to the UI in real time via Server-Sent Events (SSE).
  • Edge Deployment: Server-side rendering deployed on Cloudflare Pages, offering low-latency global access.
  • NuxtHub Integration: Supports R2 storage for PDFs, D1 for full-text, Vectorize for embeddings, Rate Limiting, and Workers AI—deployable with a single CLI command.

Project Screenshots

Project Screenshot