A project that provides a digital assistant powered by agentic AI to support general practitioners in asking all relevant questions to patients and identifying early signs of common cancers before referral to specialists. The aim is to reduce delays in cancer detection.
# Cancer Diagnostic Assistant (Agentic AI for Early Cancer Detection)
### Overview
The **Cancer Diagnostic Assistant** is a digital tool powered by **agentic AI** that supports **general practitioners (GPs)** in conducting effective clinical interviews for suspected cancer cases. The system guides clinicians to ask all **relevant, evidence-based questions**, ensuring that **early warning signs** of common cancers are not missed before referral to specialists.
This project aims to **reduce diagnostic delays**, improve **primary-care decision support**, and ultimately **enhance early cancer detection outcomes** in low-resource settings.
---
### Core Features
* 🧠 **Multi-Agent Intelligence:**
A coordinated set of AI agents (Clinician, Patient, Listener, Question Recommender) simulate or support real diagnostic conversations.
* 💬 **Natural-Language Dialogue:**
Enables bilingual (English–Swahili) conversational screening between clinician and patient through voice and text.
* 🔎 **Question Recommendation Engine:**
Dynamically suggests the next best clinical question based on the ongoing conversation and FAISS-retrieved data from a question knowledge base.
* 🔊 **Real-Time Speech-to-Text (STT):**
Integrates local **faster-whisper** and **Jacaranda ASR** models for offline and low-bandwidth transcription, with automatic switching by language context.
* 🧩 **Adaptive Diagnostic Reasoning:**
Continuously interprets dialogue to estimate likelihoods of key symptom clusters linked to **early cancer indicators**.
* 🧍 **Real / Simulated Patient Modes:**
Can be used for live clinician-patient interviews or simulated training sessions for clinical education.
---
### System Architecture
The system combines:
* **Flask backend** with WebSocket streaming for live transcription and real-time agent orchestration.
* **CrewAI orchestration layer** managing agent roles (`clinician_agent`, `patient_agent`, `listener_agent`, `question_recommender_agent`).
* **FAISS retrieval engin …