概述

为了提高微调时大模型的泛化能力,因此需要制作多条问题对应一个答案,但是手动生成这样的数据很繁琐。

利用dify+AI构建数据集”乘法器”,将一条问答智能生成为10条高质量问答变体,从而实现数据增强。

数据增强前

[
    {
        "input": "同一个人绑卡数量有限制吗?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    }
    ...
]

数据增强后

[
    {
        "input": "是否允许同一个人绑定多张银行卡?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "使用时,一个用户能绑定多少张银行卡?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "对同一个人的绑卡数量有限制吗?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "用户可以绑定几张不同的银行卡?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "支持一个人绑定多张银行卡吗?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "同一个身份证可以绑定几张卡?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "是否限制同一用户绑定多张银行卡的数量?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "针对同一个账户的绑卡数量有上限吗?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "一个账户最多能绑定多少张银行卡?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    },
    {
        "input": "用户能否随意增加绑定的银行卡数量?",
        "output": "绑卡没有限制,同一个人可以绑定多张不同卡。"
    }
]

项目部分截图

项目细节

工作流

运行

大模型提示词

格式清洗代码

import json

def main(arg1: str) -> dict:
    data = json.loads(arg1)

    # Create an array of objects
    return {"result": [{'input': item["input"], 'output': item["output"]} for item in data]}

大模型提示词

在{{#1751273782050.item#}}中input是问题,output是答案。
根据{{#1751273782050.item#}}中output的答案,合理编写10个input问题。
输出的格式使用json,禁止修改output的值,只修改input的值。
按照如下格式输出
[
    {
        "input": "xxx",
        "output": "vvv"
    }
]

总结

基于 Dify 开发的批量问答数据扩展工具,成功实现了数据多样性、生成效率与模型微调效果的三重跃升。它将单一的问答“种子”智能繁衍为丰富的“数据森林”,以自动化流水线替代低效手工劳动,最终赋能训练出理解更深、应答更准、适应性更强的语言模型。这不仅是一个实用的工程工具,更是有效利用 LLM 能力优化数据生产流程、提升模型性能的成功范例,为构建更高质量的 AI 应用提供了强大助力。

作者:admin  创建时间:2025-07-01 18:41
最后编辑:admin  更新时间:2025-07-11 10:07