# Calibrate QA Mapper

> 基于参考文本校准问答对。当用户提到问答校准、校准QA、语言风格校准、问答对优化等需求时使用此skill。 即使用户没有明确说出"校准"，只要任务涉及根据参考文本调整问答对使其更符合特定风格，就应该使用此skill。

- Skill: `cas-bigdatalab/calibrate-qa-mapper` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add cas-bigdatalab/calibrate-qa-mapper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cas-bigdatalab/calibrate-qa-mapper/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cas-bigdatalab (https://skillmd.com/u/cas-bigdatalab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cas-bigdatalab/calibrate-qa-mapper

---


# Calibrate QA Mapper

基于参考文本校准问答对，使问答对更详细、准确，并贴合参考文本的语言风格。

本SKILL使用依赖data_juicer，请在调用前安装好python环境并安装data_juicer，你可用同以下指令进行安装：
```
pip install py-data-juicer
```

## 核心参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| input_path | string | 是 | - | 输入JSON文件路径 |
| output_path | string | 是 | - | 输出JSON文件路径 |
| api_model | string | 是 | - | LLM模型名称，如 'qwen2.5-72b-instruct' |
| api_endpoint | string | 否 | - | API端点URL |
| response_path | string | 否 | choices.0.message.content | 响应内容路径 |
| text_key | string | 否 | text | 参考文本字段名 |
| query_key | string | 否 | query | 问题字段名 |
| response_key | string | 否 | response | 回答字段名 |

## 使用方法

```bash
python scripts/run_calibrate_qa_mapper.py --input_path <input_path> --output_path <output_path> --api_model <model_name> [--api_endpoint <endpoint>] [--response_path <path>] [--text_key <key>] [--query_key <key>] [--response_key <key>]
```

## 实现原理

参照测试代码 test_calibrate_qa_mapper.py 中的 `_run_op` 函数：

```python
# 1. 初始化算子（必须指定api_model）
op = CalibrateQAMapper(api_model='qwen2.5-72b-instruct')

# 2. 处理样本
samples = [{'text': reference, 'query': '...', 'response': '...'}]
result = op.process(samples)  # 使用process处理批次
```

## 输入输出格式

### 输入格式 (JSON数组)

```json
[
  {
    "text": "参考文本，包含语言风格示例...",
    "query": "原始问题",
    "response": "原始回答"
  }
]
```

### 输出格式 (JSON数组)

```json
[
  {
    "text": "参考文本，包含语言风格示例...",
    "query": "校准后的问题",
    "response": "校准后的回答"
  }
]
```

## 示例

### 示例1：基本用法

```bash
python scripts/run_calibrate_qa_mapper.py --input_path example_input.json --output_path output.json --api_model "qwen2.5-72b-instruct"
```

### 示例2：指定API端点

```bash
python scripts/run_calibrate_qa_mapper.py --input_path example_input.json --output_path output.json --api_model "qwen2.5-72b-instruct" --api_endpoint "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
```

## 注意事项

- **必须设置环境变量**：使用前需设置 API key
  ```bash
  export OPENAI_API_KEY=your_api_key
  # 或
  export DASHSCOPE_API_KEY=your_api_key
  ```
- api_model 参数必须指定
- 输入数据需要包含 text（参考）、query（问题）、response（回答）三个字段
- 该算子调用 LLM API，可能需要较长时间

