I built AI-document-search, a RAG chatbot that lets me upload PDFs, ask questions, and get answers that cite the source file and page. The frontend is a React + Tailwind v4 app built with Vite, and the backend runs FastAPI.
The repository language is JavaScript (frontend) and Python (backend).
The project started in 2026-10 and was last updated in 2026-10.
Frontend stack: React, Tailwind v4, React Router (Vite). Backend: FastAPI. AI stack: LangChain + Ollama (qwen2.5:3b chat, nomic-embed-text embeddings), free and local. Vector DB: FAISS, persisted under backend/data/.
Models are env‑configurable (CHAT_MODEL, EMBED_MODEL, OLLAMA_URL).
Deployment uses Docker for the API and web, and the frontend can be deployed on Vercel.
Command: docker compose up --build # web on :8080, api on :8010, Ollama must run on the host.
API endpoints: GET /api/health, GET/POST /api/documents, DELETE /api/documents/{id}, POST /api/chat {question, doc_ids?, history?}.
Scanned PDFs without a text layer are rejected (no OCR).

