melbinjp/DocQA
Cite the page in the answer, not only beside it
Refuse a bot check instead of storing it as the document
A document is a scan or it is not, and the reader gets a deadline
Give the manifest a budget, since my fixed number was wrong
Show enough of a document to say what it is, not who wrote it
Mark every chunk of a transcript, not just the first
Let the page reader fall back, and only spend a request where it is needed
Report why the page reader found nothing, instead of a bare 400
Look at the page, so a scan is a document and a chart is readable
Index a long chunk several times over, so a buried fact is reachable
Always say what is loaded, whatever retrieval returned
Tell the model which document each excerpt came from
Read HTML ourselves, instead of depending on a third party to do it
Index a table by its caption, and return its grid
Give a table its caption, or it cannot be found at all
Keep a table whole, and add a lexical retriever beside the dense one
Name the two retrieval caps, so raising one is not undone by the other
Stop cutting facts in half, and rank by cosine
Fetch the document itself, so a URL can be cited by page
Carry the page through extraction, so a citation can name one
Keep the free tiers awake, every three days
build: bump torch to 2.9.1; current transformers requires >=2.5 at import
build: resolve torch install deps from PyPI as fallback
fix: retry timeouts like high-demand errors, bound stream chunks, trim ingest 400 detail
Add MIT LICENSE
fix: Disable Accel-Buffering for SSE StreamingResponse
feat: Add SSRF protection and active Gemini fallback models
Increase embedding generation timeout to 180s
Integrate Jina Reader for URL content fetching with fallback
fix: Use BeautifulSoup directly for HTML/URL parsing to prevent timeouts on large pages
fix: Set standard browser User-Agent in backend HTTP client to prevent 403 Forbidden on URL ingestion
upg: Upgrade legacy google-generativeai to google-genai and migrate model to gemini-3.5-flash
fix: Implement retry mechanism with exponential backoff on LLM rate limits
fix: Robust parsing fallback for JSON/Form and PyMuPDF fallback for PDFs
fix: Add PDF/docx/pptx/xlsx extras to markitdown and support dynamic content-type parsing for ingest endpoint
fix: Correct PyTorch CPU installation index URL in Dockerfile
fix: Upgrade PyTorch to 2.4.0 in Dockerfile to support latest transformers and numpy 2.x
fix: Pin numpy<2.0.0 to prevent PyTorch 2.2.2 segfaults causing 503s
fix: Relax dependency version pins to resolve pip conflict with markitdown in Docker
feat: Replace PyPDF2 and custom parsers with MarkItDown for universal document ingestion
Merge pull request #6 from melbinjp/async-rag-improvements-1387425315086175663
feat: make RAG API fully non-blocking with proper error handling
Fix HF Hub download ReadTimeout error
Merge pull request #5 from melbinjp/feat/return-chunk-count
feat: Return chunk count in ingest response
Add session management endpoints for frontend integration
Update README.md
Merge pull request #4 from melbinjp/refine-and-enhance-app
Add Hugging Face Spaces configuration to README.md.
Merge pull request #3 from melbinjp/refine-and-enhance-app
