Spaces:
Running
Hugging Face Spaces Deployment
PolicyTrace should be deployed as a Docker Space because it is a FastAPI plus React application, not a pure Gradio or Streamlit app.
Deployment Shape
The root Dockerfile does this:
- Builds the React UI with Vite.
- Installs the Python backend dependencies.
- Downloads the small spaCy English model used by Presidio.
- Copies
ui/distinto the image. - Starts FastAPI on port
7860. - Lets FastAPI serve both
/api/*and the React app.
Space Settings
Create a new Hugging Face Space:
- SDK: Docker
- Port:
7860 - Visibility: public or private, depending on your demo plan
Add this secret in the Space settings:
GROQ_API_KEY=your_groq_key
Optional secrets or variables:
GROQ_MODEL=meta-llama/llama-4-scout-17b-16e-instruct
GROQ_CLASSIFIER_MODEL=llama-3.1-8b-instant
Public Demo Safety
For a public Space, use only the synthetic PDFs in:
sample_data/policytrace_demo_pack/
Do not upload real customer documents to a public demo unless you have explicit permission and strong retention controls.
Storage Notes
Hugging Face Spaces have ephemeral storage by default. This means generated sessions may disappear when the Space restarts.
For a public portfolio demo, ephemeral storage is usually fine. For a persistent review workflow, enable persistent storage or move sessions to an external object store/database.
Local Docker Test
Before pushing to a Space:
docker build -t policytrace .
docker run --rm -p 7860:7860 --env-file .env policytrace
Then open:
http://localhost:7860
Linking From This Repo
After the Space is live, add the Space URL to the main README.md demo section.