Views
No views yet
athena-r1 Python package,
which handles the tool-call protocol and conversation management. Two
services back the agent: vLLM (model server) and ToolUniverse (tool server).1# 1. Install
2pip install "athena-r1[vllm,web] @ git+https://github.com/mims-harvard/ATHENA.git"
3
4# 2. Start backing services
5bash scripts/launch_tooluniverse.sh # → :8080
6bash scripts/launch_vllm.sh 8000 mims-harvard/ATHENA-R1-Qwen3-8B
7
8# 3. Run the agent (Python)
9python -c "
10from athena_r1 import AthenaR1
11agent = AthenaR1(
12 model='mims-harvard/ATHENA-R1-Qwen3-8B',
13 vllm_url='http://0.0.0.0:8000/v1',
14 tool_server='http://0.0.0.0:8080',
15)
16print(agent.answer('Dose adjustment for metformin in CKD eGFR 35?').answer)
17"python web/agui_server.py # → http://localhost:8090/ (AG-UI server + demo)python web/openai_server.py # → http://localhost:9000/v1/chat/completions| Parameter | Value |
|---|---|
| temperature | 0.7 |
| top_p | 0.95 |
| top_k | 20 |
| min_p | 0.0 |
| presence_penalty | 0 |
| max_round | 40 |
| concurrent Qs | 4 |
| Benchmark | n | ATHENA-R1 | GPT-5 |
|---|---|---|---|
| DrugPC (open-ended drug reasoning) | 3,168 | 94.7% | 76.9% |
| TreatmentPC (patient-specific treatment) | 456 | 82.9% | 72.2% |
docs/eval_results.md
file in the code repo for the full benchmark tables and the two-level
self-learning ablation.<tool_call>...</tool_call> blocks; the runtime dispatches them through
ToolUniverse, appends results to the conversation, and re-prompts. Loop
continues until [FinalAnswer] or max_round is hit.1@article{gao2026athena,
2 title = {An AI agent for treatment reasoning over a biomedical tool universe},
3 author = {Gao, Shanghua and ... and Zitnik, Marinka},
4 journal = {arXiv preprint},
5 year = {2026}
6}