| --- |
| title: Scholar Lens |
| emoji: 🔬 |
| colorFrom: blue |
| colorTo: indigo |
| sdk: gradio |
| sdk_version: 6.0.0 |
| app_file: app.py |
| pinned: false |
| license: mit |
| tags: |
| - build-small-hackathon |
| - backyard-ai |
| - nvidia-nemotron |
| - openai-codex |
| - modal |
| - gradio |
| - literature-review |
| - semantic-scholar |
| --- |
| |
| # Scholar Lens |
|
|
| Scholar Lens is a small-model literature review assistant for atmospheric science. It searches scholarly sources, de-duplicates papers, maps paper relationships, and uses NVIDIA Llama-Nemotron-Nano 8B on Modal to write grounded, cited answers from retrieved abstracts. |
|
|
| ## Submission Links |
|
|
| - **Live Space:** https://huggingface.co/spaces/build-small-hackathon/Scholar-Lens |
| - **GitHub:** https://github.com/Mr-Gondal/scholar-lens |
| - |
| - **Social post:** You can see the LIVE DEMO AT https://youtu.be/IvhU4a2kTnI?si=gM5FjZWltF2sKTV8 |
|
|
| ## Team |
|
|
| - **@kinggondal731** - builder / app owner |
|
|
|
|
| ## What It Does |
|
|
| - **Ask:** enter a research question and get a cited synthesis grounded only in retrieved abstracts. |
| - **Search:** search Semantic Scholar, OpenAlex, Crossref, arXiv, and PubMed from one query. |
| - **Constellation:** build a connected literature map that shows papers, clusters, and relationships. |
| - **Compare:** choose two papers and ask Nemotron to compare methods, claims, limitations, and best use cases. |
| - **Summarize:** summarize a selected paper or pasted abstract/results section and export Markdown. |
|
|
| ## Why This Matters |
|
|
| The app is built for a real atmospheric-science literature review workflow: papers are scattered across databases, abstracts need to be compared quickly, and researchers need evidence-grounded synthesis rather than another list of links. |
|
|
| Scholar Lens keeps the model task focused: it retrieves paper metadata and abstracts first, then asks a small model to reason only over that context. If evidence is missing, the app is designed to say so instead of inventing sources. |
|
|
| ## Model And Infrastructure |
|
|
| - **Model:** `nvidia/Llama-3.1-Nemotron-Nano-8B-v1` |
| - **Inference:** Modal-hosted FastAPI endpoints |
| - **App:** Gradio on Hugging Face Spaces |
| - **Paper APIs:** Semantic Scholar, OpenAlex, Crossref, arXiv, PubMed |
|
|
| Required Hugging Face Secrets: |
|
|
| ```text |
| MODAL_SUMMARIZE_URL |
| MODAL_SYNTHESIZE_URL |
| SCHOLAR_LENS_MODAL_TOKEN |
| SEMANTIC_SCHOLAR_API_KEY |
| SCHOLAR_LENS_CONTACT_EMAIL |
| ``` |
|
|
| Optional: |
|
|
| ```text |
| OPENALEX_API_KEY |
| ``` |
|
|
| ## Judging Fit |
|
|
| | Criterion | Scholar Lens proof | |
| |---|---| |
| | Specific real problem | Built around atmospheric-science literature review: search, triage, compare, synthesize. | |
| | Small-model fit | Nemotron handles bounded grounded synthesis over retrieved abstracts instead of open-ended web guessing. | |
| | NVIDIA fit | The main AI workflow is powered by NVIDIA Llama-Nemotron-Nano 8B on Modal. | |
| | Codex fit | OpenAI Codex was used to build, debug, polish, and prepare the app. | |
| | App polish | Dark UI, source badges, search pagination, paper comparison, constellation map, exports, and friendly empty states. | |
|
|
| ## Run Locally |
|
|
| ```bash |
| pip install -r requirements.txt |
| python app.py |
| ``` |
|
|
| The app starts a local Gradio server on port `7860`. |
|
|
| ## Deploy Modal Inference |
|
|
| ```bash |
| modal deploy modal_inference.py |
| ``` |
|
|
| After deployment, copy the Modal endpoint URLs into the Hugging Face Space secrets: |
|
|
| ```text |
| MODAL_SUMMARIZE_URL=https://your-summarize-endpoint.modal.run |
| MODAL_SYNTHESIZE_URL=https://your-synthesize-endpoint.modal.run |
| SCHOLAR_LENS_MODAL_TOKEN=your-shared-secret-token |
| ``` |
|
|
| ## Tests |
|
|
| ```bash |
| python -m pytest tests/test_app_core.py |
| ``` |
|
|
| ## Final README Checklist |
|
|
| - Tags are in the YAML block at the top. |
| - Demo video link is listed in **Submission Links**. |
| - Social post link is listed in **Submission Links**. |
| - Team Hugging Face usernames are listed in **Team**. |
|
|