在prompt使用占位符实现提高信息替换成功率和替换位置准确率【prompt】【LLM】

2024-05-12 08:22:51 浏览数 (2)

问题

造数据集的时候遇到的,llm不能很好的帮你替换,替换的内容不对,或者是替换的位置不对,比如这里就是替换位置不对,只盯着doc2替换,无视你的替换位置的变化。 待处理文本

代码语言:javascript复制
    {
        "question": "填空题,吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在________ 内。n{%doc1%}n{%doc2%}n{%doc3%}n",
        "content": "吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在有效期内。",
    }

prompt相关部分

将question中doc1替换直接照搬 content 的内容,doc2、doc3替换为与问题无关的两句话,是真正的替换不是照搬文字。

Response

代码语言:javascript复制
 "question": "填空题,吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在________ 内。n遵守所有相关的安全操作规程。n吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在有效期内。n定期对设备进行安全检查。",
}

占位符

使用占位符可以清楚地表明这是一个待替换的部分,而不是一个静态的文本。这有助于LLM理解prompt的结构。如果prompt中直接使用doc1doc2doc3这样的文本,可能会与实际的文档内容或其他文本混淆,使用{%doc1%}、{%doc2%}、{%doc3%}可以明确这是一个特殊的标记。

解决

使用占位符提高信息替换成功率 prompt相关部分

将question中{%doc3%}替换直接照搬 content的内容,{%doc1%}、{%doc2%}替换为与问题无关的两句话,是真正的替换不是照搬文字。

Response

代码语言:javascript复制
{
    "question": "填空题,吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在________ 内。n遵守所有相关的安全操作规程。n定期对设备进行安全检查。n吊车检验合格证件及驾驶操作合格证件报审手续完备,合格证件在有效期内。",
}

prompt这里还有一个小细节,与待替换文本占位符相对顺序对齐提升替换位置准确率,比如这里你用了占位符,

将question中{%doc3%}替换直接照搬 content的内容,{%doc2%}、{%doc1%}替换为与问题无关的两句话,是真正的替换不是照搬文字。

prompt中的顺序为{%doc2%}、{%doc1%},但是待处理的文本中顺序是 {%doc1%}、{%doc2%},两者不一致,替换的位置就不能保证了。 Response

代码语言:javascript复制
{
    "question": "填空题,高架车驾驶及操作人员应经过相关机构或________ 的专门培训。n操作前应熟悉所有安全指南。n高架车驾驶及操作人员应经过相关机构或设备制造厂的专门培训。n定期对设备进行维护以确保其良好状态。",
}

明显地,这里实际替换了{%doc2%}而不是你要求的{%doc3%}

相关测试基于Qwen1.5-14B-Chat

0 人点赞