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)
.envMODEL=./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 |
