Trim README: drop lab mention and limitations sectionRunning
samwjya+1: Claude Opus 5.5
9f4945c
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use direct app link in README
samwjya
009111e
Merge pull request #2 from samwjya/revamp
samwjya
Unverified signature
1b95833
Add live demo link to README
5 days ago
Add live demo link to README
samwjya
bea6522
Merge pull request #1 from samwjya/revamp
samwjya
Unverified signature
9f2cadd
Revamp
Switch web app from Streamlit to Gradio for Hugging Face Spaces
samwjya+1: Claude Opus 5.5
f3fed0c
Docker Spaces aren't available on the free tier, so the UI is rewritten in
Gradio (same features: coverage, gaps, year filter, summaries, caching, rate
limits). Requirements use CPU-only PyTorch; README targets a Gradio Space.
Dockerfile and .dockerignore are removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
update readme
samwjya
d18fbe7
Prepare Hugging Face Spaces deploy: prune and pin deps, add Dockerfile and .dockerignore
samwjya
06a2c96
19 days ago
Add seed evaluation queries
samwjya+1: Claude Opus 5.5
bc9718e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rewrite evaluation with independent relevance labels
samwjya+1: Claude Opus 5.5
b35072c
The old pseudo-relevance used OpenAlex's own top-k as ground truth, so
OpenAlex always scored 1.0. Now: LLM-judged graded labels over pooled
results, NDCG normalized over all judged papers, six systems compared.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Repair CLI: main.py runs the full pipeline
samwjya+1: Claude Opus 5.5
b137166
It imported ensemble functions that no longer existed and crashed on start.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Remove FastAPI backend and old Streamlit UI (replaced by app.py)
samwjya+1: Claude Opus 5.5
0357ad6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add single Streamlit app with coverage and gap analysis
samwjya+1: Claude Opus 5.5
e6598fe
Replaces the FastAPI backend + separate UI: one process, models cached
once, no public endpoint exposing the Groq key. Adds caching, per-session
and daily rate limits, and escapes all external text (no raw HTML).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Coverage quotes are verified against the abstract before being trusted.
Switches from the retired llama-3.3-70b-versatile to qwen3.8-27b on Groq.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Retriever: multi-query search, match counts, retries
samwjya+1: Claude Opus 5.5
4182aba
Semantic search caps at 50 results with no paging; running several
sub-queries in parallel gives the reranker a larger, more diverse pool.
count_works() supports gap detection.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reranker: consistent 0-1 scores via sigmoid, restore all three models
samwjya+1: Claude Opus 5.5
4d9eec9
ms-marco models returned raw logits while BGE returned probabilities, so the
relevance tier thresholds only worked for one model.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ignore caches, venv and eval data; untrack __pycache__
samwjya+1: Claude Opus 5.5
19e690b
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>