How anushkapunekar/careflow-ai works
CareFlow AI is a browser-based voice receptionist: a user speaks through the web UI, FastAPI manages conversational and appointment context, and the LLM can request clinic-knowledge retrieval or appointment actions. Appointment tools use SQLite as the authority for availability and booking; RAG retrieves clinic information from a local FAQ and FAISS index. The README documents additional cancellation/rescheduling and protected administrative RAG capabilities; their exact endpoint wiring is not fully visible in the excerpts.
Main entry points: main.py FastAPI service · rag.py RAG search · index.html Voice web UI · llm.py LLM client
Components 13
Voice interaction
- Voice web UI
static/index.html - FastAPI service
app/main.py
Conversation agent
- LLM client
app/llm.py - Groq API
Appointment management
- Appointment tools
app/tools.py - SQLite database
app/database.py
Clinic knowledge
- RAG search
app/rag.py - Hugging Face embeddings
- Clinic FAQ
knowledge/clinic_faq.txt - FAISS index
knowledge/careflow.index - FAQ chunks
knowledge/chunks.json
Other components
- Clinic visitor
- Admin operator
Connections 13
- Clinic visitor → Voice web UI: speaks to
- Voice web UI → FastAPI service: sends interaction
- FastAPI service → Voice web UI: returns response
- FastAPI service → LLM client: requests response
- LLM client → Groq API: calls model
- FastAPI service → Appointment tools: dispatches actions
- FastAPI service → RAG search: searches knowledge
- Appointment tools → SQLite database: reads and updates
- RAG search → Hugging Face embeddings: requests embeddings
- RAG search → Clinic FAQ: loads source text
- RAG search → FAISS index: searches vectors
- RAG search → FAQ chunks: loads chunk text
- Admin operator → FastAPI service: uses protected operations