Changelog
All notable changes to Gia (Gentari AI Assistant) will be documented in this file.
v1.2 - Grounded Answers
Added
- Grounding Verification - Gia now drafts an answer, verifies it against retrieved document excerpts, and retries if the draft contains unsupported claims.
- Safe Fallbacks - If Gia still cannot verify an answer from the selected document(s), it says so instead of guessing.
Changed
- Stricter Document Prompting - The assistant prompt now treats retrieved excerpts as the only source of truth and explicitly avoids filling gaps with general knowledge.
Fixed
- Localhost Startup - Local runs now bind to
127.0.0.1 and auto-select the next free port when another process is already using localhost:5200.
v1.1 - Bulk Upload, All Documents, and Stability
Added
- All Documents Default - Chat now defaults to searching across all ready documents.
- Cross-Document Retrieval - Gia ranks matches across every ready document and shows source chips for the documents used.
- Bulk Uploads - Admin can upload multiple files in one action.
- Expanded File Support - Added parsing for Office files, spreadsheets, presentations, OpenDocument formats, EPUB, EML, CSV/TSV, JSON/JSONL, XML/HTML/SVG, RTF, YAML, code/config files, and existing PDF/image OCR flows.
Changed
- Safer Ingestion Queue - Document ingestion now runs through a single background queue to avoid native-library contention during large uploads.
- FAISS Stability - Vector stores now default to FlatIP indexes with FAISS/OpenMP threads capped to 1 on macOS.
- Default Port - Local app defaults and deployment docs now use port 5200.
Fixed
- Bulk Upload Crash - Fixed a macOS segmentation fault caused by concurrent FAISS HNSW index creation.
- Metadata Writes - Document metadata is now written atomically to reduce corruption risk after crashes.
v1.0 — Initial Release
Features
- AI-Powered Chat — Conversational RAG assistant powered by Gemma 3 (1B) via Ollama
- Multi-Model Support — Upload and switch between multiple knowledge models
- PDF Parsing — 3-tier parsing engine: Marker → PyMuPDF + Tesseract OCR → pypdf
- Image OCR — Extract text from PNG, JPG, TIFF, BMP via Tesseract
- FAISS Vector Store — Per-model semantic search with nomic-embed-text embeddings
- Streaming Responses — Real-time token-by-token SSE streaming
- Session Management — Persistent chat sessions with localStorage
- Admin Dashboard — Upload, manage, and delete models with ingestion status tracking
- Health Monitoring — Live system status panel (Server, Ollama, Models, LLM)
- Modern UI — Clean glassmorphism design with sidebar navigation
- Responsive Design — Mobile-friendly layout with collapsible sidebar