akshayyy1/vector-auditor
Add max_tokens parameter to NexAGI endpoint
Add privacy column to Document model + migration 005
Remove PII from research mode and response handlers
Tune Presidio: strict mode masks names+orgs for NDA, light mode skips them for research
Add privacy flag to upload — PII runs only when privacy=True (NDA mode)
Fix tuple unpacking error in gather result for PDF parsing
Skip MarkItDown for PDFs — run only as fallback if pypdf returns empty
Swap pdfplumber → pypdf for upload parsing (3x faster text extraction)
Fix upload dedup crash: scalar_one_or_none → scalars().first() for sha256 lookup
Remove forced section headers from SYSTEM_WHITE_BOX — /query returns raw LLM output
Fix NexAGIResponse: reasoning_details is list[dict], not dict
Fix NexAGI: reasoning_details is already a list of dicts
Fix NexAGI: reasoning_details list model_dump, add reasoning_details to message schema
Update README + mermaid: add NexAGI free-form reasoning chat
Add /NexAGI endpoint — OpenRouter reasoning via nex-agi/nex-n2-pro:free
Update README: dual LLM providers, 1 worker, JSON analyze, PII skips
Parallelize multi-doc retrieval with asyncio.gather
Restore JSON parsing in analyze_document — populate all DocumentAnalysis fields
Revert "Remove deepeval test from HF"
Remove deepeval test from HF
Fix import path in deepeval test
Add deepeval RAG quality tests (faithfulness + relevancy)
Reduce default concurrent jobs to 5
Append verification warning to answer so frontend always shows it
Handle null content in LLM response (NoneType len error)
Auto-fallback to mercury when minimax fails (chat + stream)
Skip PERSON/LOCATION/ORG in PII masking — only mask contact & financial IDs
Safe minimax defaults: no thinking, temp=0.3, max_tokens=4096
Profile-aware API key: mercury uses INCEPTION_API_KEY, minimax uses LLM_API_KEY
Minimax uses LLM_BASE_URL env var; mercury always uses inceptionlabs.ai
Remove LLM_BASE_URL env override — use profile's own base_url
Keep only mercury + minimax profiles; remove custom profile logic entirely
Drop custom profile as default — always default to mercury; minimax remains selectable
Speed up analyze: use black_box mode (no thinking, 2K tokens) instead of white_box
Reduce uvicorn workers from 8 to 1 to prevent OOM on HF Spaces
Remove _strip_headers post-processing — let LLM output pass through as-is
Strip headers server-side + stronger prompt to enforce plain-text output
Force plain-text output: remove all headers/structure from LLM prompt
Simplify document_agent: drop JSON parsing, return raw LLM output; fix llm.py syntax errors
fix: strict query-only output in analyze — no extra sections
feat: query-driven analyze + context window bump
fix: make analyze JSON structure query-driven instead of rigid template
fix: normalize all LLM JSON fields + wire cross_doc/per_doc
fix: normalize list-typed limitations/methodology from LLM JSON
fix: thinking.type enabled for analyze mode + status event
fix: increase httpx timeout 120s -> 300s/600s for thinking models
fix: thinking.type enabled instead of adaptive for NVIDIA API
feat: cache reranker snapshot at build time via huggingface_hub
feat: minimax temp=0.1 + thinking adaptive + json output for analyze
fix: handle LLM_BASE_URL with or without /chat/completions suffix
