A HIPAA compliance Slack bot using RAG (Retrieval-Augmented Generation) with FastAPI, Weaviate, and Google Gemini.
- Docker and Docker Compose
- Google Gemini API Key
- Slack Bot Token and Signing Secret (for Slack integration)
-
Environment Variables: Copy
.env.exampleto.envand fill in your API keys.cp .env.example .env # Edit .env -
Start Services: Run the following command to start Weaviate, FastAPI, and Nginx:
docker compose up --build -d
-
Ingest Documents: Place your HIPAA text documents (
.txt) indata/hipaa_docs/and run the ingestion script inside the container:docker compose exec fastapi uv run python scripts/ingest_docs.py -
Test Query: You can test the RAG endpoint locally:
docker compose exec fastapi uv run python scripts/test_query.py "What is PHI?"
- Health Check:
http://localhost:80/health - Query (RAG):
POST http://localhost:8000/query - Slack Events:
POST http://localhost:8000/slack/events
The src directory is mounted into the container, so changes will trigger a reload.