A simple interface to label clinical data using local large language models (LLMs)
- Base code of getting started with LLMs
- Try LLM's without PHI/PII issues and GPUs
- Simple interface for several tasks
- Label Documents
- Fine-tune (upcoming)
- RAG (upcoming)
- Be in control
- Try any of the latest models
- Control Context Length
- Tailor to your specific need
- Clone the llmtag repo
- Download weights - any llama2 compatible model should work
- Get llama-7B-chat weights from HF
- Save it under ./models/7B
- Add the model path to the environment variable
MODEL
- create .env file in root directory of repository (e.g. touch .env)
- copy and paste below or define your own path to the model binary (actual model weights)
.env
MODEL=./models/7B/llama-2-7b-chat.Q4_K_M.gguf
- Initialize the environment with
poetry install
(if new to poetry, please check this) - For leveraging GPUs, please check - llama-cpp-python
- Follow the instructions for installation as per your machine specifications
- For simple CPU use case, can resort to not using GPU, but will be very time intensive, orders of magnitude more
- Ignore this step for now unless you know better
- Run all tests using
poetry run python -m pytest tests/
- Run the default example:
poetry run python -m llmtag
patient_id | notes | label | |
---|---|---|---|
0 | 1 | Patient complains of leg pain and swelling. Ultrasound confirms DVT. | 1 |
1 | 2 | Patient experiences chest pain and shortness of breath. CT scan confirms PE. | 1 |
2 | 3 | Patient has a history of DVT. No current symptoms noted. | 0 |
3 | 4 | No complaints or symptoms related to VTE or PE. | 0 |
patient_id | notes | label | llm_label | llm_reasons | |
---|---|---|---|---|---|
0 | 1 | Patient complains of leg pain and swelling. Ultrasound confirms DVT. | 1 | 1 | Ultrasound confirms DVT |
1 | 2 | Patient experiences chest pain and shortness of breath. CT scan confirms PE. | 1 | 1 | CT scan confirms PE |
2 | 3 | Patient has a history of DVT. No current symptoms noted. | 0 | 0 | No Symptoms found |
3 | 4 | No complaints or symptoms related to VTE or PE. | 0 | 0 | No evidence of VTE or PE |
n = 50
predicted | |||
---|---|---|---|
Actual | 0 | 1 | |
0 | 27 | 1 | |
1 | 0 | 20 |
Metric | |
---|---|
F1 Score | 0.98 |
Precision | 0.95 |
Recall | 1.0 |
Accuracy | 0.98 |