CureBot AI is a neuro-symbolic medical assistant that combines:
- Structured reasoning over a symptom-condition knowledge graph
- Retrieval-augmented context from curated medical documents
- Conversational response generation through an LLM
It is designed for educational triage support, not clinical diagnosis.
- Added accessible modal workflows for New Chat and Visit Summary dialogs ♿
- Improved summary tooling with copy, print, and PDF export support 📄
- Improved diagnostics UX with richer condition confidence and checklist views 📊
- Strengthened graph visualization state handling and responsive rerender behavior 🕸️
- Added better frontend structure via shared header/control styles 🧩
- Knowledge graph traversal using symptom-to-condition edges 🧠
- Red-flag symptom detection for urgent guidance 🚨
- RAG grounding from domain-specific medical documents 📚
- Conversation memory via session timeline support 🕒
- Explainable diagnostics panel with confidence and contribution data 🔍
- Visit-ready summary generation for clinician handoff 📝
The app uses a layered pipeline:
- NLP extractor parses user symptom text.
- Knowledge graph scores candidate conditions.
- RAG pipeline retrieves matching medical context.
- LLM composes grounded, user-friendly guidance.
- Frontend renders diagnostics and graph state updates.
For a full architecture walkthrough, see SYSTEM_ARCHITECTURE.md.
app/: FastAPI backend and reasoning pipelinedata/: CSV datasets and local vector store artifactsstatic/: Frontend HTML, CSS, and JavaScripttests/: Automated tests
- Python 3.10+
- pip
- Groq API key
pip install -r requirements.txtCreate .env in project root:
GROQ_API_KEY=your_groq_api_keyuvicorn app.main:app --reload --port 8000Open http://localhost:8000.
POST /chat: Main chat and reasoning orchestration endpointGET /graph-data: Graph data for D3 visualizationPOST /debug/analyse: Internal diagnostics payload for debuggingGET /summary/{session_id}: Visit-ready summary payloadPOST /session/clear: Reset session timeline state
- Keep
.envand secrets out of version control
Run test suite:
pytest -qIf you find CureBot helpful or interesting, please consider giving this repository a Star! It helps more developers discover the project and keeps the motivation going. ⭐
We welcome contributions of all kinds! Whether you want to fix a bug, add a new medical feature, improve documentation, or suggest enhancements, your help is highly appreciated.
This project is for educational and research assistance only. It does not provide medical diagnosis or treatment. In emergencies, contact local emergency services immediately.