File size: 1,887 Bytes
c74801e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b9012e6
c74801e
 
 
 
 
b9012e6
 
c74801e
 
 
b9012e6
 
c74801e
 
b9012e6
 
 
 
 
c74801e
 
 
 
b9012e6
c74801e
 
 
 
 
 
 
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
---
base_model: XD-MU/ScriptAgent
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:XD-MU/ScriptAgent
- lora
- transformers
---


# ScriptAgent: Dialogue-to-Shooting-Script Generation Model

This model is a fine-tuned adapter (LoRA) on top of the `XD-MU/ScriptAgent` base model, designed to **generate detailed shooting scripts from dialogue inputs**. It is trained to transform conversational text into structured screenplay formats suitable for film or video production.

The model is compatible with [ms-swift](https://github.com/modelscope/swift) and supports efficient inference via the **vLLM backend**.

> 💡 Note: This repository contains a **PEFT adapter** (e.g., LoRA). To use it, you must merge it with the original base model or load it via `ms-swift`.

## ▶️ Inference with ms-swift (vLLM Backend)

To generate shooting scripts from dialogue inputs, use the following command with **ms-swift**:

You can find **DialoguePrompts** here: https://huggingface.co/datasets/XD-MU/DialoguePrompts
```bash
import os
from huggingface_hub import snapshot_download

os.environ['CUDA_VISIBLE_DEVICES'] = '0'

model_name = "XD-MU/ScriptAgent"
local_path = "./models/ScriptAgent"

# 下载整个仓库的所有文件
print("下载模型所有文件...")
snapshot_download(
    repo_id=model_name,
    local_dir=local_path,
    local_dir_use_symlinks=False,
    resume_download=True
)

print(f"模型已完整下载到: {local_path}")

# 使用 SWIFT 加载
from swift.llm import PtEngine, RequestConfig, InferRequest

engine = PtEngine(local_path, max_batch_size=1)
request_config = RequestConfig(max_tokens=8192, temperature=0.7)

infer_request = InferRequest(messages=[
    {"role": "user", "content": "你的对话上下文(Your Dialogue)"}
])
response = engine.infer([infer_request], request_config)[0]

print(response.choices[0].message.content)
```