HealthBot is an Agentic-based healthcare assistant designed to provide reliable health information, explain medical concepts in simple language, and test users' understanding through interactive quizzes.
HealthBot leverages the power of LangGraph, LangChain, and OpenAI's language models to create an interactive educational experience. The system:
- Asks users what health topic they'd like to learn about
- Searches for reliable information from trusted medical sources
- Summarizes the information in patient-friendly language
- Tests comprehension with targeted quiz questions
- Provides personalized feedback with citations from the summary
![]() |
![]() |
![]() |
![]() |
- Reliable Information: Searches only reputable medical websites (Mayo Clinic, NIH, WHO, CDC, etc.)
- Patient-Friendly Language: Converts complex medical information into easy-to-understand summaries
- Interactive Learning: Tests comprehension with customized quiz questions
- Personalized Feedback: Provides detailed feedback with citations from the summary
healthbot
├── src/ # Source code directory
│ ├── __init__.py # Makes src a Python package
│ ├── state.py # Defines HealthBot state class
│ ├── tools.py # Defines Tavily search tool
│ ├── models.py # Initializes language models
│ ├── user_interface.py # User interaction functions
│ ├── utils.py # Utility functions
│ ├── nodes.py # Workflow node definitions
│ └── workflow.py # Workflow graph construction
├── main.py # Command-line interface
├── app.py # Streamlit web interface
└── README.md # Project documentation
To run HealthBot, you'll need Python 3.11:
-
Clone the repository:
git clone https://github.com/deepbiolab/healthbot.git cd healthbot -
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root with your API keys:OPENAI_API_KEY=your_openai_api_key TAVILY_API_KEY=your_tavily_api_key
Run HealthBot from the command line:
python main.pyThis will start an interactive session where you can:
- Enter a health topic you'd like to learn about
- Read a patient-friendly summary
- Take a quiz to test your understanding
- Receive personalized feedback
- Choose to learn about another topic or exit
Run HealthBot as a web application:
streamlit run app.pyThis will launch a Streamlit web interface that provides the same functionality in a more user-friendly format.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.



