BODHI (Bridging, Open, Discerning, Humble, Inquiring) is a lightweight Python library that wraps any LLM to produce responses that are genuinely curious, appropriately humble, and clinically specific.
pip install bodhi-llmLLMs tend to be overconfident, give vague advice, and assume rather than ask.
BODHI uses a two-pass prompting strategy that teaches LLMs to:
| Baseline LLM | With BODHI | |
|---|---|---|
| Confidence | Overconfident | Appropriately humble |
| Missing info | Makes assumptions | Asks clarifying questions |
| Advice | Vague ("see a doctor") | Specific (dosages, timeframes) |
| Safety | May miss red flags | Explicitly identifies red flags |
from bodhi import BODHI
from openai import OpenAI
client = OpenAI()
bodhi = BODHI.from_openai(client, model="gpt-4o-mini")
response = bodhi.complete("I have chest pain")
print(response.content)Output characteristics:
- Asks: "Are you experiencing shortness of breath right now?"
- Specific: "Take aspirin 325mg if not allergic"
- Clear: "Call 911 immediately if pain spreads to arm or jaw"
# Basic
pip install bodhi-llm
# With OpenAI
pip install bodhi-llm[openai]
# All providers
pip install bodhi-llm[all]%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#4A90A4',
'primaryTextColor': '#ffffff',
'primaryBorderColor': '#2D5A6B',
'lineColor': '#666666',
'secondaryColor': '#7B68EE',
'tertiaryColor': '#20B2AA'
}
}}%%
flowchart TD
A[User Prompt<br/>'I have chest pain'] --> B[Pass 1: Analysis]
B --> B1[Task Type]
B --> B2[Audience Detection]
B --> B3[Uncertainties & Red Flags]
B1 --> C[Pass 2: Response]
B2 --> C
B3 --> C
C --> C1[BE SPECIFIC<br/>dosages, timeframes]
C --> C2[ACTIVELY ASK<br/>direct questions]
C --> C3[INCLUDE ALTERNATIVES<br/>multiple options]
classDef input fill:#5D6D7E,stroke:#2C3E50,color:#fff,stroke-width:2px
classDef analysis fill:#4A90A4,stroke:#2D5A6B,color:#fff,stroke-width:2px
classDef detail fill:#7B68EE,stroke:#5B4ACE,color:#fff,stroke-width:2px
classDef response fill:#20B2AA,stroke:#178B82,color:#fff,stroke-width:2px
classDef output fill:#3CB371,stroke:#2E8B57,color:#fff,stroke-width:2px
class A input
class B analysis
class B1,B2,B3 detail
class C response
class C1,C2,C3 output
| Task Type | Behavior |
|---|---|
CONVERSATION |
Warm, helpful with clarifying questions |
TECHNICAL |
Strict format (SOAP notes, ICD codes) |
HYBRID |
Technical format + clinical reasoning |
EMERGENCY |
Clear, step-by-step guidance |
from bodhi import BODHI
def my_llm(messages):
# Your LLM call here
return "response"
bodhi = BODHI(my_llm)
response = bodhi.complete("I have a headache")from bodhi import BODHI, BODHIConfig
config = BODHIConfig(
domain="medical", # or "general"
)
bodhi = BODHI(chat, config=config)# Inspect the reasoning without generating response
analysis = bodhi.analyze("I have chest pain")
print(analysis)BODHI(chat_function, config=None)
BODHI.from_openai(client, model="gpt-4o-mini")Methods:
complete(prompt)→BODHIResponseanalyze(prompt)→str
response.content # Final response text
response.analysis # Pass 1 reasoning
response.metadata # Timing, domain info@article{cajas2026beyond,
title={Beyond overconfidence: Embedding curiosity and humility for ethical medical AI},
author={Cajas Ord{\'o}{\~n}ez, Sebasti{\'a}n Andr{\'e}s and others},
journal={PLOS Digital Health},
volume={5},
number={1},
pages={e0001013},
year={2026}
}
@article{ordonez2025humility,
title={Humility and curiosity in human--AI systems for health care},
author={Ordo{\~n}ez, Sebasti{\'a}n Andr{\'e}s Cajas and others},
journal={The Lancet},
volume={406},
number={10505},
pages={804--805},
year={2025}
}
@article{arslan2026engineering,
title={An Engineering Framework for Curiosity-Driven and Humble AI in Clinical Decision Support},
author={Arslan, Janan and Benke, Kurt and Ordo{\~n}ez, Sebasti{\'a}n Andr{\'e}s Cajas and Castro, Rowell and Celi, Leo Anthony and Cruz-Suarez, Gustavo Adolfo and Reyes, Roben Delos and Engelmann, Justin and Ercole, Ari and Hilel, Almog and others},
journal={BMJ Health \& Care Informatics},
year={2026},
publisher={BMJ Publishing Group}
}BODHI is built by an interdisciplinary team of philosophers, clinicians, engineers, and scientists spanning generations and continents. We welcome contributions from anyone passionate about making AI more humble and curious.
- Anti-sycophancy — Resist agreeing just to please
- Critical thinking — Challenge assumptions constructively
- Cultural sensitivity — Adapt to cultural contexts
- Epistemic justice — Recognize diverse ways of knowing
Interested? Reach out: sebasmos@mit.edu
PyPI · PLOS Digital Health · The Lancet · HumbleAILLMs
CC BY-NC-SA 4.0 · Made with curiosity and humility
