Skip to main content

Agentic Medical Deep Learning Engineer

Project description

Med-DLE: Agentic Medical Deep Learning Engineer

MedDLE is designed to be a codegen agentic system for medical deep learning tasks.

Quick Start

Setup environment

  1. we recommand use conda to create a virtual environment:
conda create --name meddle python=3.11 
conda activate meddle
  1. Then install meddle via:
pip install uv
uv pip install -r requirements.txt
uv pip install -e .
  1. remember to set up your private api key of OPENAI/ANTROPIC/OPENROUNTER for openai-compatible endpoint
export OPENAI_BASE_URL="<your base url>" # (e.g. https://api.openai.com/v1)
export OPENAI_API_KEY="<your key>"

Setup knowledge base for RAG

You can create the knowledge base with create_monai_knowledge_base.sh or download from link.

You could use this command to check whether the creation succeeds.

python -m meddle.monai_rag.query_rag_db

Setup dataset

  1. Get data from link and move the data into med_dl_tasks. This zip file contains both MedMNIST only.
  2. The goals and evaluation targets for each dataset can be found in the corresponding shell scripts:
    • For MedMNIST datasets, see run_medmnist_all.sh.
    • For MCO (Molecular and Cellular Oncology) datasets, see run_mco_all.sh.

Try MedDLE

meddle data_dir=<your dataset> \
     goal=<your goal> \
     eval=<your metrics> \
     agent.steps=30 agent.enable_monai_knowledge_base=true

here's a detailed example:

meddle data_dir="meddle/example_tasks/retinamnist_224" exp_name="torch-example_task_retina"\
     goal="Predict the category of each given Fundus Camera image by selecting the most appropriate one from the 5 available classes." \
     eval="Use the accuracy and the area under curve (AUC) between the predicted class and ground-truth class on the test set." \
     agent.step_plan.proposal=20 agent.step_plan.tuning=10 agent.step_plan.hpo=5

You can set general steps (MedDLE with auto-schedule steps for multiple agents) or detailed step_plan for each agent.

Advanced Features

RAG Mode

We support both basic RAG and advanced (query2doc) mode. They are controlled with the following configs.

agent.enable_monai_knowledge_base=true agent.enable_query2doc=true

Time Limits

MedDLE supports configurable timeouts for code execution. The default timeout is 3600 seconds, which can be adjusted via:

  • exec.timeout: Base timeout for all agents (default: 3600s)
  • HPO agent automatically gets 2x timeout: 7200s when running hyperparameter optimization

To set a total time limit for all steps, use agent.total_time_limit:

meddle data_dir="meddle/example_tasks/retinamnist_224" exp_name="test_timelimit-example_task_retina"\
     goal="Predict the category of each given Fundus Camera image by selecting the most appropriate one from the 5 available classes." \
     eval="Use the accuracy and the area under curve (AUC) between the predicted class and ground-truth class on the test set." \
     agent.force_monai_with_prompt=false agent.enable_monai_knowledge_base=false agent.expose_prediction=true \
     agent.steps=100 agent.total_time_limit=60

🙏 Acknowledgement

  • We thank all medical workers and dataset owners for making public datasets available to the community.
  • Thanks to the open-source of the following projects, our code is developed based on their contributions:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meddle-0.1.2.tar.gz (52.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meddle-0.1.2-py3-none-any.whl (65.6 kB view details)

Uploaded Python 3

File details

Details for the file meddle-0.1.2.tar.gz.

File metadata

  • Download URL: meddle-0.1.2.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for meddle-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3925650724122f5ac176ed2f0ac06d8d30deab9265f169848a9b1e760f7fea38
MD5 b6c28b7bcbfad7969a9d8e1771e89405
BLAKE2b-256 d3d5b296bc7f85fe9edb1f404d77cb6c53fb34f48091e6bd706b53ec9bb5b5d9

See more details on using hashes here.

File details

Details for the file meddle-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: meddle-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 65.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for meddle-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 98a089358a4ead975c583a1ed118d3c3fa8c23c19e410e8b074e631f3cc2b7b1
MD5 22cfd004d4b4480d595099382ea9a4b1
BLAKE2b-256 40a813cd6bc429853d77b2a281fb79fe9646ccad1c69dd3137ef0214ee485899

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page