How vinayjoseph003/care-ai works
Care-AI is a multilingual medical information chatbot. Users enter symptoms or health questions through the Streamlit interface or CLI; the bot gathers follow-up information, assesses symptoms and triage, grounds an answer in medical knowledge, and presents the result with source and safety information. The graph also shows the documented doctor-finder capability and LLM fallback providers. Some core modules were not sampled, so their internal call wiring is shown only where the README or excerpts support it.
Main entry points: careai.py Conversation and XAI · llm_router.py LLM fallback router · app.py Streamlit UI · main.py CLI
Components 18
User interfaces
- Streamlit UI
ui/app.py - CLI
main.py - Doctor finder panel
ui/doctor_finder_panel.py
Clinical conversation
- Conversation and XAI
bot/careai.py - Symptom scoring
core/symptom_scorer.py - Specialist finder
core/doctor_finder.py - Clinical prompts
core/prompts.py
Knowledge and retrieval
- Knowledge ingestion
core/knowledge_base.py - Medical source data
data - Query expansion
core/query_expander.py - Vector retrieval
core/vector_store.py - NHS chunk parser
nhs_parser.py
LLM providers
- LLM fallback router
core/llm_router.py
Other components
- User
- OpenRouter
- Groq
- Gemini
- Ollama
Connections 17
- User → Streamlit UI: asks
- User → CLI: asks
- Streamlit UI → Knowledge ingestion: builds chunks
- CLI → Knowledge ingestion: builds chunks
- Knowledge ingestion → Medical source data: reads sources
- NHS chunk parser → Medical source data: writes NHS chunks
- Streamlit UI → Conversation and XAI: creates bot
- CLI → Conversation and XAI: creates bot
- Streamlit UI → Doctor finder panel: renders finder
- Conversation and XAI → Symptom scoring: scores symptoms
- Conversation and XAI → Specialist finder: selects specialist
- Conversation and XAI → Vector retrieval: retrieves context
- Conversation and XAI → LLM fallback router: requests generation
- LLM fallback router → OpenRouter: calls provider
- LLM fallback router → Groq: calls provider
- LLM fallback router → Gemini: calls provider
- LLM fallback router → Ollama: calls provider