ZhangNy's picture
Add Space app files
75db650
---
title: Thoracic Radiology RAG System
emoji: ๐Ÿ‘€
colorFrom: green
colorTo: red
sdk: gradio
sdk_version: 6.1.0
app_file: app.py
pinned: false
license: mit
short_description: 'Ask questions about thoracic radiology and get answers with '
---
## Overview
This repository contains a **Hugging Face Spaces-ready** RAG (Retrieval-Augmented Generation) demo for thoracic radiology Q&A.
- **Default index (prebuilt)**: `ZhangNy/radiology-index-qwen3-embedding-0.6b`
- **Raw public dataset**: `ZhangNy/radiology-dataset`
- **No image rendering in UI**: references link to original pages where images can be viewed.
The Space uses **external APIs** for Embeddings / Reranker / LLM via **Secrets**.
## Run (local)
```bash
cd LangGraphAgent/rebuild_1219
pip install -r requirements.txt
export EMBED_API_KEY="..."
export LLM_API_KEY="..."
# optional:
export RERANK_API_KEY="..."
python app.py --config config/default_config.yaml --host 0.0.0.0 --port 7860
```
Open `http://localhost:7860`.
## Required Hugging Face Space Secrets
### Required
- **`EMBED_API_KEY`**: embedding API key (OpenAI-compatible)
- **`LLM_API_KEY`**: LLM API key (OpenAI-compatible)
### Recommended
- **`RERANK_API_KEY`**: reranker API key (OpenAI-compatible `/rerank` endpoint)
### Optional (override defaults)
- **`EMBED_API_BASE_URL`**, **`EMBED_MODEL_NAME`**
- **`RERANK_API_BASE_URL`**, **`RERANK_MODEL_NAME`**
- **`LLM_BASE_URL`**, **`LLM_MODEL_NAME`**
- **`RAG_INDEX_REPO_ID`** (default: `ZhangNy/radiology-index-qwen3-embedding-0.6b`)
- **`RAG_STORAGE_DIR`** (default: `/data/radiology_rag` if `/data` exists, else `./storage`)
## Advanced: rebuild your own index (offline)
Install dev deps:
```bash
pip install -r requirements-dev.txt
```
The `scripts/` folder (to be used locally) will support:
- Downloading `ZhangNy/radiology-dataset` to `./hf_dataset_prepared`
- Building a new index with a different embedding model
- Publishing that index as a Hugging Face dataset repo
### Fast path (no rebuild): publish your existing local index
If you already have a built index locally (e.g. `rebuild_1217/storage` contains `chroma_db/` + `doc_store.db`),
you can **package it without images** and upload it:
```bash
python scripts/package_existing_storage.py \
--storage /home/zny/codes/radioagent_prepare/LangGraphAgent/rebuild_1217/storage \
--output-dir ./index_out \
--overwrite
python scripts/publish_index_to_hf.py \
--repo ZhangNy/radiology-index-qwen3-embedding-0.6b \
--folder ./index_out \
--token $HF_TOKEN
```
## Notes
- **Do not commit API keys**. This repo is configured to read them from environment variables / Space Secrets.
- **Index compatibility**: query-time embedding model should match the index embedding model for best retrieval quality.