The warm, magical AI companion helping millions navigate their fertility journey
Tanit is a production-ready multimodal fertility chatbot combining:
Zero hallucinations. Medically grounded. Deeply empathetic.
Perfect for testing UI and recording demo video without downloading models:
# 1. Clone repository
git clone https://github.com/YOUR_USERNAME/tanit-fertility-assistant.git
cd tanit-fertility-assistant
# 2. Install dependencies
pip install -r requirements.txt
# 3. Build knowledge base
python rag/graphrag_builder.py
# 4. Launch demo (instant, no downloads)
python app_demo.py
Access at: http://localhost:7860 or the public Gradio link
Uses real Qwen models - first run downloads ~10GB (10-15 minutes):
# Same steps 1-3 as above, then:
# 4. Launch production app (downloads models first time)
python app.py
Requirements:
# Create virtual environment
python -m venv tanitenv
source tanitenv/bin/activate # On Windows: tanitenv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Build GraphRAG knowledge base
python rag/graphrag_builder.py
# Launch app
python app_demo.py # For instant demo
# OR
python app.py # For production with real models
Full working notebook: [YOUR_KAGGLE_LINK_HERE]
# Cell 1: Clone repository
!git clone https://github.com/YOUR_USERNAME/tanit-fertility-assistant.git
%cd tanit-fertility-assistant
# Cell 2: Install dependencies
!pip install -q -r requirements.txt
# Cell 3: Build knowledge base
!python rag/graphrag_builder.py
# Cell 4: Launch app
!python app.py # Use app_demo.py for faster testing
User Input (Voice/Text/Image)
β
ββββββββββββββββββββββββ
β STT Handler β β faster-whisper (base/medium)
β (if audio) β <1s latency on CPU
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β VLM Handler β β Qwen2-VL-2B-Instruct (4-bit)
β (if image/PDF) β Extracts hormone values,
β β follicle counts, measurements
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β GraphRAG Engine β β Microsoft GraphRAG
β β Retrieves connected medical
β β knowledge from graph
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β LLM Handler β β Qwen2.5-3B-Instruct (4-bit)
β β Synthesizes empathetic,
β β grounded response
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β Safety Guardrails β β Disclaimers, hallucination
β β checks, crisis detection
ββββββββββββββββββββββββ
β
Final Response
Why?
Why?
Why?
Why?
Hardware: Kaggle Tesla T4 (14.7GB VRAM)
During the recorded demo, all models were running on CPU (confirmed by GPU usage: 0.00GB), resulting in higher latency:
| Interaction | Latency |
|---|---|
| Voice β GraphRAG | 60.78 seconds |
| Voice + Hormone Panel Image | 86.96 seconds |
| Text + Ultrasound PDF | 61.65 seconds |
| Text + Cycle Chart Image | 107.34 seconds |
After enabling CUDA execution, expected production performance on GPU:
| Component | Estimated Latency |
|---|---|
| Faster-Whisper STT | <1s |
| Qwen VLM | 2β5s |
| GraphRAG | 2β3s |
| LLM response | 1β2s |
| β Total End-to-End | 6β10 seconds |
Recording was done intentionally on CPU to ensure stability and reproducibility. GPU optimization was validated through profiling and implemented afterwards.
β
VLM extraction: Correct
β
GraphRAG grounding: Correct
β
Safety guardrails: Active
β
Zero hallucinations observed
Watch 5-10 minute demo: [https://drive.google.com/file/d/17ynD5PT4X5b8nFb_U3iRfzCrl2KaNLVx/view?usp=sharing]
Interactions Shown:
tanit-multimodal-fertility-assistant/
βββ app.py # Production Gradio app (real models)
βββ app_demo.py # Demo version (instant, no downloads)
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ report.pdf # Technical report (3-6 pages)
β
βββ rag/
β βββ graphrag_builder.py # Build knowledge base
β βββ graphrag_query.py # Query engine
β βββ graphrag_index/ # Knowledge base (JSON)
β βββ knowledge_base.json
β
βββ models/
β βββ vlm_handler.py # Qwen2-VL integration
β βββ llm_handler.py # Qwen2.5 integration
β
βββ voice/
β βββ stt.py # faster-whisper STT
β
βββ utils/
βββ safety.py # Medical safety guardrails
βββ latency_tracker.py # Performance monitoring
# Text query
"What does an AMH of 1.5 ng/mL mean at age 32?"
# Voice query
Record: "I'm 34, my AMH is 1.1, should I be worried?"
# Image query
Upload hormone panel β "Explain these results"
# Complex query
Voice + Image: "I have PCOS. Here are my labs. What should I do?"
This is a prototype for Tanit's patient-facing companion (Q2 2026 launch).
For production readiness:
Built with π for helping millions become parents.
MIT License - See LICENSE file
"The warmth of human care + the precision of AI = hope for every family"
Built for Tanit - Q2 2026 Patient-Facing Companion πΈ
4 commits
Python
83.7%
Jupyter Notebook
16.3%
The warm, magical AI companion helping millions navigate their fertility journey
Tanit is a production-ready multimodal fertility chatbot combining:
Zero hallucinations. Medically grounded. Deeply empathetic.
Perfect for testing UI and recording demo video without downloading models:
# 1. Clone repository
git clone https://github.com/YOUR_USERNAME/tanit-fertility-assistant.git
cd tanit-fertility-assistant
# 2. Install dependencies
pip install -r requirements.txt
# 3. Build knowledge base
python rag/graphrag_builder.py
# 4. Launch demo (instant, no downloads)
python app_demo.py
Access at: http://localhost:7860 or the public Gradio link
Uses real Qwen models - first run downloads ~10GB (10-15 minutes):
# Same steps 1-3 as above, then:
# 4. Launch production app (downloads models first time)
python app.py
Requirements:
# Create virtual environment
python -m venv tanitenv
source tanitenv/bin/activate # On Windows: tanitenv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Build GraphRAG knowledge base
python rag/graphrag_builder.py
# Launch app
python app_demo.py # For instant demo
# OR
python app.py # For production with real models
Full working notebook: [YOUR_KAGGLE_LINK_HERE]
# Cell 1: Clone repository
!git clone https://github.com/YOUR_USERNAME/tanit-fertility-assistant.git
%cd tanit-fertility-assistant
# Cell 2: Install dependencies
!pip install -q -r requirements.txt
# Cell 3: Build knowledge base
!python rag/graphrag_builder.py
# Cell 4: Launch app
!python app.py # Use app_demo.py for faster testing
User Input (Voice/Text/Image)
β
ββββββββββββββββββββββββ
β STT Handler β β faster-whisper (base/medium)
β (if audio) β <1s latency on CPU
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β VLM Handler β β Qwen2-VL-2B-Instruct (4-bit)
β (if image/PDF) β Extracts hormone values,
β β follicle counts, measurements
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β GraphRAG Engine β β Microsoft GraphRAG
β β Retrieves connected medical
β β knowledge from graph
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β LLM Handler β β Qwen2.5-3B-Instruct (4-bit)
β β Synthesizes empathetic,
β β grounded response
ββββββββββββββββββββββββ
β
ββββββββββββββββββββββββ
β Safety Guardrails β β Disclaimers, hallucination
β β checks, crisis detection
ββββββββββββββββββββββββ
β
Final Response
Why?
Why?
Why?
Why?
Hardware: Kaggle Tesla T4 (14.7GB VRAM)
During the recorded demo, all models were running on CPU (confirmed by GPU usage: 0.00GB), resulting in higher latency:
| Interaction | Latency |
|---|---|
| Voice β GraphRAG | 60.78 seconds |
| Voice + Hormone Panel Image | 86.96 seconds |
| Text + Ultrasound PDF | 61.65 seconds |
| Text + Cycle Chart Image | 107.34 seconds |
After enabling CUDA execution, expected production performance on GPU:
| Component | Estimated Latency |
|---|---|
| Faster-Whisper STT | <1s |
| Qwen VLM | 2β5s |
| GraphRAG | 2β3s |
| LLM response | 1β2s |
| β Total End-to-End | 6β10 seconds |
Recording was done intentionally on CPU to ensure stability and reproducibility. GPU optimization was validated through profiling and implemented afterwards.
β
VLM extraction: Correct
β
GraphRAG grounding: Correct
β
Safety guardrails: Active
β
Zero hallucinations observed
Watch 5-10 minute demo: [https://drive.google.com/file/d/17ynD5PT4X5b8nFb_U3iRfzCrl2KaNLVx/view?usp=sharing]
Interactions Shown:
tanit-multimodal-fertility-assistant/
βββ app.py # Production Gradio app (real models)
βββ app_demo.py # Demo version (instant, no downloads)
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ report.pdf # Technical report (3-6 pages)
β
βββ rag/
β βββ graphrag_builder.py # Build knowledge base
β βββ graphrag_query.py # Query engine
β βββ graphrag_index/ # Knowledge base (JSON)
β βββ knowledge_base.json
β
βββ models/
β βββ vlm_handler.py # Qwen2-VL integration
β βββ llm_handler.py # Qwen2.5 integration
β
βββ voice/
β βββ stt.py # faster-whisper STT
β
βββ utils/
βββ safety.py # Medical safety guardrails
βββ latency_tracker.py # Performance monitoring
# Text query
"What does an AMH of 1.5 ng/mL mean at age 32?"
# Voice query
Record: "I'm 34, my AMH is 1.1, should I be worried?"
# Image query
Upload hormone panel β "Explain these results"
# Complex query
Voice + Image: "I have PCOS. Here are my labs. What should I do?"
This is a prototype for Tanit's patient-facing companion (Q2 2026 launch).
For production readiness:
Built with π for helping millions become parents.
MIT License - See LICENSE file
"The warmth of human care + the precision of AI = hope for every family"
Built for Tanit - Q2 2026 Patient-Facing Companion πΈ
4 commits
Python
83.7%
Jupyter Notebook
16.3%