Question Bank 题库系统 is an AI-native question bank built with Vue frontend and FastAPI backend. It supports multi-format imports, multiple question types, AI providers, RAG with vector search, workflow auditing, and a modular architecture. Installation guidance is provided via Docker Compose with steps and quick-start commands.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Question Bank 题库系统 is an AI原生的题库系统 that provides multi-format imports (Word / Markdown / images), multiple question types (single/multiple/fill-in/true-false/solution), AI providers (Gemini, OpenAI-compatible), knowledge-point RAG with vector search, an审核工作流, and a question basket for grouping and exporting.
How it works
The system uses a frontend in Nuxt 4 SPA and a backend in FastAPI with SQLAlchemy Async. Data goes through a MySQL database and a ChromaDB vector store. AI interactions occur via external providers (Gemini / OpenAI-compatible), with provider configurations stored in ai_providers / ai_models tables. The architecture includes a DocProcessor for knowledge extraction, a vector search component, and a batch rerank flow to map AI-recommended knowledge points to standard topics.
Getting started
Docker Compose
# 1. 克隆仓库
git clone https://github.com/gygy-open/question-bank.git question-bank && cd question-bank
# 2. 生成环境变量文件并修改
cp .env.example .env
# 编辑 .env,至少设置 SECRET_KEY 和 MYSQL_PASSWORD
# 生成随机 SECRET_KEY: openssl rand -hex 32
# 3. 启动全部服务(MySQL + ChromaDB + Backend + Worker + Frontend)
docker compose up -d --build
# 4. 首次启动后初始化数据
docker compose exec backend python scripts/initial_data.py
# 5. 创建超级管理员
docker compose exec backend python scripts/create_superuser.py
访问:前端 http://localhost,后端 API 文档 http://localhost:8000/docs
本地开发/环境变量与部署
- 提示将后端与前端分开运行,后端使用 uvicorn 启动,前端使用 pnpm dev。
- AI 服务提供配置在数据库的 ai_providers / ai_models 表中,通过系统设置进行配置。
Recent releases
- none
Traction
- Stars: 14
Behind the repo
- Open-source project under AGPL-3.0-or-later license. Repository created 2026-07-14.
Caveats
- License: AGPL-3.0
- Age: created 2026-07-14; last_push 2026-07-15
- 需要本地或云端 MySQL 和 ChromaDB 支持,Docker Compose 定义在仓库中
- README outlines extensive features but does not include release notes
