Tutorials¶
Eight Jupyter notebooks, in order. Each one runs offline, downloads no model, uses only synthetic data, and is executed in CI on every change — a tutorial that stopped working would fail the build.
The notebooks need Openbtk 0.7.0 or later (the tagged 0.6.0 that first added them was never published).
To run them yourself:
pip install "openbtk[text,ehr,langchain,langgraph,notebooks]" faiss-cpu
jupyter lab notebooks/
| # | Notebook | You will |
|---|---|---|
| 1 | Your first pipeline | load notes, de-identify, section and chunk them; read the run manifest; validate, run and replay from a config |
| 2 | De-identification | see all five transform modes and the audit report, see what the default recognizer misses, and score it on labelled data |
| 3 | EHR to text | load FHIR patients, select a cohort, render a timeline as text, and de-identify it like a note |
| 4 | Chunking for retrieval | compare fixed-size and section-aware chunking on one note |
| 5 | Retrieval with provenance | index chunks in FAISS, rerank by shared concepts, and answer with a SourceRef to every source |
| 6 | Guardrails and terminology | check output for PHI and unsupported claims, and see what a partial vocabulary can and cannot say |
| 7 | Evaluation | measure retrieval, clinical QA accuracy and groundedness, and check the checker |
| 8 | LangChain and LangGraph | use Openbtk components as Runnables, a vector store and a graph node |
The notebooks stand in for real models with two tiny offline providers (a hashing "encoder" and an extractive "LLM") that implement Openbtk's real interfaces, so swapping in a real model changes a line or two. They demonstrate the plumbing; they make no claim about retrieval or answer quality. For the numbers this project does publish, and what they do not show, see Benchmarks.