File size: 3,744 Bytes
0adac3d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
license: apache-2.0
pipeline_tag: text-generation
library_name: transformers
tags:
  - dialogue
  - medical
  - reinforcement-learning
  - multi-agent
---

# DoctorAgent-RL: A Multi-Agent Collaborative Reinforcement Learning System for Multi-Turn Clinical Dialogue

This repository contains the `DoctorAgent-RL` model, which is a reinforcement learning (RL)-based multi-agent collaborative framework designed to revolutionize clinical dialogue. The model is presented in the paper [DoctorAgent-RL: A Multi-Agent Collaborative Reinforcement Learning System for Multi-Turn Clinical Dialogue](https://huggingface.co/papers/2505.19630).

**Code**: [https://github.com/JarvisUSTC/DoctorAgent-RL](https://github.com/JarvisUSTC/DoctorAgent-RL)

<div align="center">
  <img width="1231" alt="DoctorAgent-RL Framework" src="https://github.com/user-attachments/assets/bd9f676e-01f9-406c-881d-c2b9f45e62f3" />
</div>

## Introduction

DoctorAgent-RL addresses the critical limitations of static clinical dialogue systems by modeling medical consultations as dynamic decision-making processes under uncertainty. It enables:

1.  **Adaptive Information Gathering**: Intelligent adjustment of dialogue paths based on patient responses.
2.  **Clinical Reasoning Alignment**: Autonomous development of interaction strategies consistent with medical logic.
3.  **Overcoming Static Paradigms**: Moving beyond superficial pattern imitation in existing dialogue datasets.

Through continuous multi-turn interactions between doctor and patient agents, optimized via reinforcement learning, DoctorAgent-RL achieves significant improvements in diagnostic accuracy and interaction efficiency.

## Key Features

-   ๐Ÿง  **Multi-Agent Collaboration**: Doctor and patient agents with distinct roles and objectives.
-   ๐Ÿ“ˆ **Dynamic Strategy Optimization**: Reinforcement learning-based policy updates for adaptive behavior.
-   ๐ŸŽฏ **Comprehensive Reward Design**: Multi-dimensional consultation evaluation metrics guiding optimal strategies.
-   ๐Ÿ“Š **Medical Knowledge Integration**: Clinical reasoning logic embedded in decision-making processes.
-   ๐Ÿ“„ **MTMedDialog Dataset**: The first English multi-turn medical consultation dataset designed with simulation capabilities.

## Usage

You can use the `DoctorAgent-RL` model with the Hugging Face `transformers` library for text generation in a multi-turn dialogue context.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Load the model and tokenizer
model_id = "Jarvis1111/DoctorAgent-RL" 
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")

# Prepare a sample conversation
messages = [
    {"role": "user", "content": "Hello Doctor, I have a headache and feel tired."},
]

# Apply the chat template defined in the tokenizer_config.json
# This is crucial for proper multi-turn dialogue with Qwen models
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

# Generate response
input_ids = tokenizer(text, return_tensors="pt").input_ids.to(model.device)
output = model.generate(input_ids, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.9)
response = tokenizer.decode(output[0], skip_special_tokens=True)

print(response)
```

## Citation

If DoctorAgent-RL contributes to your research, please consider citing our work:

```latex
@article{feng2025doctoragent,
  title={DoctorAgent-RL: A Multi-Agent Collaborative Reinforcement Learning System for Multi-Turn Clinical Dialogue},
  author={Feng, Yichun and Wang, Jiawei and Zhou, Lu and Li, Yixue},
  journal={arXiv preprint arXiv:2505.19630},
  year={2025}
}
```