File size: 2,121 Bytes
8018595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c403899
 
 
8018595
c403899
8018595
 
 
 
 
 
 
 
 
 
 
 
 
 
0ba176c
f6b7a59
8018595
f6b7a59
8018595
 
 
0ba176c
f6b7a59
0ba176c
8018595
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Repo Guidelines

This repository contains the LLM-based Cancer Risk Assessment Assistant.

## Core Technologies
- **FastAPI** for the web framework
- **LangChain** for LLM orchestration
- **uv** for environment and dependency management
- **hydra:** for configuration management

## Coding Philosophy
- Prioritize clarity and reusability.
- Favor simple replication over heavy abstraction.
- Keep comments short and only where the code isn't self-explanatory.
- Avoid verbose docstrings for simple functions.

## Testing
- Write meaningful tests that verify core functionality and prevent regressions.
- Run tests with `uv run pytest`.

## Development Setup
- Create the virtual environment (at '.venv') with `uv sync`.

## Running commands
- As the repository uses uv, the uv should be used to run all commands, e.g., "uv run python ..." NOT "python ...".
- **FastAPI Server**: `uv run uvicorn apps.api.main:app --reload`
- **CLI Demo**: `uv run python apps/cli/main.py`
- **Tests**: `uv run pytest`

These guidelines apply to the entire repository.

## Important Note for Developers

When making changes to the project, ensure that the following files are updated to reflect the changes:

- `README.md`
- `AGENTS.md`
- `GEMINI.md`

## Risk Model Availability

Risk calculators exposed to Gemini-based agents include:
- **Gail** - Breast cancer risk
- **Claus** - Breast cancer risk based on family history
- **Tyrer-Cuzick** - Breast cancer risk (IBIS model)
- **BOADICEA** - Breast and ovarian cancer risk (via CanRisk API)
- **PLCOm2012** - Lung cancer risk
- **LLPi** - Liverpool Lung Project improved model for lung cancer risk (8.7-year prediction)
- **CRC-PRO** - Colorectal cancer risk
- **PCPT** - Prostate cancer risk
- **Extended PBCG** - Prostate cancer risk (extended model)
- **Prostate Mortality** - Prostate cancer-specific mortality prediction
- **MRAT** - Melanoma risk (5-year prediction)
- **aMAP** - Hepatocellular carcinoma (liver cancer) risk
- **QCancer** - Multi-site cancer differential

Register additional models in `src/sentinel/risk_models/__init__.py` so they are available system-wide.