Spaces:
Running
Running
Commit History
-
feat: model selector, progress bar, sources panel, chat export, CSV parsing, dockerignore
Bhaskar RamUI/UX Features: - app.py: model selector dropdown (Llama 3.1 8B, Mistral 7B, Mixtral 8x7B, Qwen2.5 72B) — switches active LLM per-request without server restart - app.py: gr.Progress in process_files() with step labels (Parsing / Embedding / Done) — no more silent 30s freeze on large uploads - app.py: Retrieved Sources accordion below chat — shows each chunk's source file, cosine score, score bar (█░ visual), and 220-char preview - app.py: Chat export button — downloads conversation as timestamped Markdown file - app.py: Max response tokens slider (128–4096, default 1024) in Settings panel - app.py: CSS moved into Blocks(css=) to avoid duplicate arg on launch() RAG Core: - document_loader.py: CSV files now parsed with csv.DictReader into 'Column: value. Column: value.' natural-language sentences per row Infra: - .dockerignore: excludes .git, .env, __pycache__, tests, venv, .vscode, sdk/ and FAISS snapshot files from Docker image3151380
-
fix: model singleton cache, dedup guard, Gradio type=messages
Bhaskar Ram- embedder.py: introduce _get_model() lazy singleton — SentenceTransformer is now loaded exactly once per process; subsequent uploads reuse it (saves 5-15s per incremental index call). Also remove duplicate 'import numpy as np' that was inside add_to_index() despite numpy already being imported at module level. - app.py: add gr.State(set()) indexed_sources to track indexed filenames and skip re-uploading the same document (prevents silent chunk doubling). Reset clears the tracker as well. - app.py: add type='messages' to gr.Chatbot to silence Gradio >=5 deprecation.9edd318 -
fix: sentence-aware chunking, score threshold, DOCX tables, streaming error handling, LLM_MODEL env var
Bhaskar Ram- embedder.py: replace character slicer with sentence-boundary-aware chunker (regex split on [.!?]+capital / paragraph breaks, sentence-level overlap) - retriever.py: add MIN_SCORE=0.30 cosine-similarity threshold to drop irrelevant chunks before they reach the LLM - document_loader.py: extend _load_docx() to extract table cell text (previously tables were silently skipped) - chain.py: split retry logic (connection phase only) from mid-stream error handling; partial responses now surfaced on stream interruption - chain.py + .env.example: LLM_MODEL now read from env var with Llama 3.1 8B as fallback (was hardcoded, env override was broken)2623b17
-
feat: apply all 15 upgrades — BGE embeddings, cosine FAISS, streaming LLM, tenacity retry, dotenv, Dockerfile, tests
Bhaskar Rama465955
-
Add Kerdos Infrasoft branding, demo banner, and funding CTA
Bhaskar Rame120e1f -
Fix Gradio 6.x compatibility errors
Bhaskar Ram55953aa