Multi-agent workflow for drug-target interaction (DTI) evidence. It combines ML scores (DeepPurpose), KG signals, and PubMed RAG evidence, then produces a reasoning tree and final label.
- Python 3.11+
- uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
uv sync
source .venv/bin/activateCreate a .env file (see .env.example) or export these variables:
AZURE_OPENAI_API_LLM_KEY=...
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_DEPLOYMENT_NAME=...
AZURE_OPENAI_API_VERSION=...
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME=...
AZURE_OPENAI_EMBEDDING_API_VERSION=...
CLAUDE_ENDPOINT=...
CLAUDE_DEPLOYMENT=...Embedding variables are required for PubMed RAG.
Full DrugAgent run:
uv run python -m drugagent.cli --drug Imatinib --gene KIT --enabled_agents ML,KG,RAGPlausibility/Faithfulness evaluation from a summary CSV:
uv run python src/faithfulness_plausibility_eval.py \
--summary-csv output/summary_v0_ml_kg_rag_nomodel_none.csv \
--output output/plausibility_faithfulness_from_summary.jsonlThe script reads the input_payload column (JSON or a path to output/input_payloads/*.json).
Plausibility/Faithfulness evaluation from JSONL:
uv run python src/faithfulness_plausibility_eval.py \
--input data/plausibility_faithfulness_demo.jsonl \
--output data/plausibility_faithfulness_results.jsonlUses AZURE_OPENAI_API_LLM_KEY and CLAUDE_ENDPOINT from .env (see src/drugagent/kinase/config_utils.py).
output/trees/{config_id}/{drug}_{gene}.jsonreasoning treesoutput/summary_{ablation}.csv(CLI)output/summary.csv(legacy summary output)output/input_payloads/{drug}__{target}.json(payload snapshots for evaluation)output/plausibility_faithfulness_from_summary.jsonloutput/ml_dti_scoresoutput/ml_lookup_cacheoutput/rag_dti_cache.csvoutput/graph_dti_cache.csv
- ML: DeepPurpose model downloads automatically if not present.
- RAG: place files at
data/kinase_rag_index.faissanddata/kinase_rag_metadata.json. If missing, the app tries to download viaDRUGAGENT_RAG_GDRIVE_URLintoDRUGAGENT_RAG_DOWNLOAD_DIR. - KG: provide a local KG CSV and set
DRUGAGENT_KG_PATHor place it atdata/KG+BDB.csv.gz.
@article{inoue2025drugagent,
title={Drugagent: Multi-agent large language model-based reasoning for drug-target interaction prediction},
author={Inoue, Yoshitaka and Song, Tianci and Wang, Xinling and Luna, Augustin and Fu, Tianfan},
journal={ArXiv},
pages={arXiv--2408},
year={2025}
}