Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: calibrate_qa_mapper description: | 基于参考文本校准问答对。当用户提到问答校准、校准QA、语言风格校准、问答对优化等需求时使用此skill。 即使用户没有明确说出"校准",只要任务涉及根据参考文本调整问答对使其更符合特定风格,就应该使用此skill。
name_zh: 基于参考文本校准问答对算子 input_params:
- name: input_path
type: string required: true description: 输入JSON文件路径
- name: output_path
type: string required: true description: 输出JSON文件路径
- name: api_model
type: string required: true description: LLM模型名称,如 'qwen2.5-72b-instruct'
- name: api_endpoint
type: string required: false description: API端点URL
- name: response_path
type: string required: false default: choices.0.message.content description: 响应内容路径
- name: text_key
type: string required: false default: text description: 参考文本字段名
- name: query_key
type: string required: false default: query description: 问题字段名
- name: response_key
type: string required: false default: response description: 回答字段名
output_params:
- name: output_path
type: json_file description: 校准后的问答对JSON文件,包含校准后的query和response tag: 数据转换 publisher: COMMUNITY
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 | 回答字段名 |
使用方法
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 函数:
# 1. 初始化算子(必须指定api_model)op = CalibrateQAMapper(api_model='qwen2.5-72b-instruct')# 2. 处理样本samples = [{'text': reference, 'query': '...', 'response': '...'}]result = op.process(samples) # 使用process处理批次
输入输出格式
输入格式 (JSON数组)
[{"text": "参考文本,包含语言风格示例...","query": "原始问题","response": "原始回答"}]
输出格式 (JSON数组)
[{"text": "参考文本,包含语言风格示例...","query": "校准后的问题","response": "校准后的回答"}]
示例
示例1:基本用法
python scripts/run_calibrate_qa_mapper.py --input_path example_input.json --output_path output.json --api_model "qwen2.5-72b-instruct"
示例2:指定API端点
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,可能需要较长时间