Tune Presidio: strict mode masks names+orgs for NDA, light mode skips them for research 073907c AkshayM commited on 25 days ago
Add privacy flag to upload — PII runs only when privacy=True (NDA mode) 82a91b9 AkshayM commited on 25 days ago
Skip MarkItDown for PDFs — run only as fallback if pypdf returns empty e2a2578 AkshayM commited on 25 days ago
Swap pdfplumber → pypdf for upload parsing (3x faster text extraction) a965d17 AkshayM commited on 25 days ago
Fix NexAGI: reasoning_details list model_dump, add reasoning_details to message schema 9cb8ece AkshayM commited on 26 days ago
Add /NexAGI endpoint — OpenRouter reasoning via nex-agi/nex-n2-pro:free 464d909 AkshayM commited on 26 days ago
feat: provider-based LLM profiles + per-request model switching 9a38dd4 AkshayM commited on 28 days ago
fix: use pdfplumber text for chunking to ensure accurate page numbers for citations 247a9a5 AkshayM commited on 28 days ago
fix: keep MarkItDown for chunking, pass pdfplumber page texts separately so page numbers align for bbox extraction e01df47 AkshayM commited on 28 days ago
fix: use pdfplumber text for chunking so page numbers align with page ranges (fixes bbox extraction) 4f4595a AkshayM commited on 28 days ago
fix: actually anonymize PII in document text before indexing + sanitize all LLM outputs 548bb13 AkshayM commited on 28 days ago
fix: populate username from GitHub login on OAuth signup, return email/username in OAuth login response 4753a4e AkshayM commited on 29 days ago
perf: move PII detection from upload HTTP handler to job worker (runs concurrent with parsing) 6e20180 AkshayM commited on 29 days ago
feat: harden prompt injection guardrails with 11 detection layers + fix missing guardrails on /analyze 4eb6f45 AkshayM commited on 30 days ago
perf: revert to all-MiniLM-L6-v2, query embed cache, fire-and-forget Cloudinary, pre-warm reranker, reduce top-k 1476572 AkshayM commited on about 1 month ago
fix: import parse_document outside .pdf scope; coerce datetime→str in all response schemas 51bad61 AkshayM commited on Jun 8
production hardening: circuit breakers, graceful degradation, health checks, parallel uploads, HF Spaces deploy config fc2fe9f AkshayM commited on Jun 8
fix: remove local file fallback, use Cloudinary only, add POST /documents/backfill endpoint for old docs 1fd184a AkshayM commited on Jun 7
fix: add file_url to every citation so the frontend PDF viewer gets the URL directly without extra API call 7226ce1 AkshayM commited on Jun 7
fix: cloudinary_url now falls back to local file_url so frontend PDF viewer always gets a working link 7edd24f AkshayM commited on Jun 7
fix: add file_url to DocumentResponse, pass request to _doc_response, handle old-path files in serve_file aae70f2 AkshayM commited on Jun 7
fix: Cloudinary upload resource_type=auto for PDF preview instead of raw download a7baf2b AkshayM commited on Jun 7
fix: Cloudinary upload_bytes->upload method name bug, add GET /files/{doc_id} endpoint for PDF serving fallback 3953df3 AkshayM commited on Jun 7
fix: enable NeMo Guardrails with correct parameters.api_key/parameters.base_url, add PII detection to guardrails flow, set PII_ENABLED=true 6ca471b AkshayM commited on Jun 7
fix: handle LLM connection errors gracefully (SSL/connect errors → 502); convert Analyze 500 → 502 with clear message 5d8e007 AkshayM commited on Jun 7
fix: load .env at module level in main.py (removes run.py dependency); auto-start worker + register processor on startup 84839f7 AkshayM commited on Jun 7
fix: upload pipeline completely dead - worker never started, processor never registered 2942460 AkshayM commited on Jun 7
fix upload pipeline: await add_document, pre-load model eagerly, add verbose UPLOAD/VectorStore logging; remove unused deployment configs 90c440b AkshayM commited on Jun 7
fix models.py: match Neon schema varchar sizes, add email unique constraint 167c070 AkshayM commited on Jun 6