Skip to content
This repository was archived by the owner on Sep 12, 2026. It is now read-only.

Repository files navigation

arxiv-exam-app

FastAPI service that turns an arXiv paper into an on-demand multiple-choice exam, with a small web UI.

Status: experimental side project, not actively maintained since mid-2025.

Features

  • Web UI to generate and take an exam for a given arXiv ID.
  • Extracts text from the paper's PDF as exam source material.
  • Generated exams (with sample answers) downloadable as JSON.
  • Pluggable LLM backend: OpenAI API or a local Text-Generation-Inference endpoint.
  • Async FastAPI + httpx + Pydantic v2; configuration via environment variables; Docker-friendly.
  • CI: Ruff lint + pytest on Python 3.11 (.github/workflows/ci.yml).

Quick start

pip install .[dev]
export OPENAI_API_KEY=sk-...   # if using the OpenAI backend
uvicorn main:app --reload
# web UI at http://127.0.0.1:8000, API docs at /docs

Local model backend:

export LLM_BACKEND=hf
export HF_API_URL=http://localhost:8080/v1/chat/completions   # TGI endpoint
uvicorn main:app --reload

Docker

docker build -t arxiv-exam-app .
docker run -p 8000:8000 -e OPENAI_API_KEY=sk-... arxiv-exam-app

License

MIT

About

FastAPI service that turns an arXiv paper into a multiple-choice exam. Experimental, not actively maintained.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages