当前位置: 首页 > news >正文

如何写出高质量的dify参数提取器prompt

要写出高质量的 Dify 参数提取器 prompt,需要结合精准的指令设计、上下文控制和输出规范。以下是专业级的 prompt 构建方法论和具体示例:

一、高质量 Prompt 设计原则

  1. 角色定义明确化

    # 优秀示例
    你是一名专业的数据工程师,专门从复杂文本中提取结构化参数。
    当前任务:从医疗报告提取关键医学实体,包括诊断、药品和剂量。
    
  2. 输入输出规范化

    # 输入规范
    输入数据格式要求:
    - 文本编码:UTF-8
    - 特殊符号保留原样
    - 包含原始换行符# 输出规范
    输出必须为JSON格式,包含字段:
    - diagnosis (ICD-10编码)
    - medications (数组)- name: 药品通用名- dosage: 剂量字符串
    
  3. 处理逻辑显式化

    处理流程:
    1. 识别所有医学实体
    2. 验证药品与诊断的关联性
    3. 过滤非标准术语
    4. 输出前进行逻辑校验
    

二、参数提取专用 Prompt 模板

模板1:精准实体提取
作为[领域]数据提取专家,请严格按以下要求操作:输入:<粘贴待处理文本>处理规则:
1. 必须提取的参数:<参数1: 正则表达式/描述><示例: patient_id: \d{8}>
2. 可选参数:<参数2: 提取条件>
3. 无效数据标记为null输出规范:
{"field1": {"value": "", "confidence": 0-1},"field2": {"source_text": "", "normalized": ""}
}特殊处理:
- 遇到<特殊情况>时执行<处理方式>
- <模糊匹配阈值>=0.7
模板2:多步骤验证提取
执行分步参数提取:STEP 1 - 初步识别
使用<技术/模型>识别所有候选参数STEP 2 - 上下文验证
根据[上下文规则]验证有效性:
<规则1: 剂量必须与药品共存>
<规则2: 日期必须在有效范围内>STEP 3 - 标准化输出
按<标准格式>转换参数:
<示例: 将"1.5g"转为"1500mg">最终输出要求:
- 包含原始文本位置信息
- 标注验证通过率

三、领域特化示例

1. 金融合同参数提取
作为金融合同解析专家,提取以下关键参数:必选参数:
1. contract_parties: - 使用NER识别甲方/乙方- 提取实体类型需包含[ORG, PERSON]
2. payment_terms:- 匹配模式:r"应在(\d+)个工作?日内支付"- 自动转换为天数整数禁止行为:
- 猜测缺失参数
- 修改原始金额数值输出示例:
{"parties": {"party_a": {"name": "", "type": ""},"party_b": {"tax_id": ""}},"effective_date": {"raw": "", "iso_format": ""}
}
2. 临床报告结构化
角色:临床数据标准化引擎输入:<病理报告文本>任务:
1. 识别关键实体:- 诊断结论 (必须含ICD编码)- 检验指标 (包含单位)- 用药方案 (剂量+频次)2. 标准化处理:- 将"qd"转换为"每日1次"- 血压值统一为mmHg单位- 肿瘤分期保留TNM原始描述异常处理:
- 无法识别的医学术语标记为UNPARSEABLE
- 矛盾数据添加WARNING注释输出格式要求:
{"diagnosis": {"description": "","icd10": "","certainty": "confirmed/suspected"},"medications": [{"generic_name": "","dose": {"value": "","unit": "" }}]
}

四、高级优化技巧

  1. 动态条件注入

    根据用户提供的<参数提取规则表>动态调整提取策略:
    <注入变量: current_extraction_rules>实时验证规则:
    if 参数符合<规则表>的<验证函数>:return 标准化值
    else:执行<备用提取方案>
    
  2. 多模态支持

    处理包含文本+表格的数据时:
    1. 优先提取结构化表格数据
    2. 补充提取文本描述中的额外参数
    3. 建立表格与文本的交叉引用关系
    
  3. 置信度管理

    每个提取参数必须附加:
    - confidence_score: 基于<置信度计算规则>
    - evidence: [提取依据的原始文本片段]
    - validation: [已执行的验证步骤]
    

五、测试与验证 Prompt

请对以下参数提取器prompt进行质量评估:评估维度:
1. 指令明确性
2. 领域适应性
3. 异常处理完备性
4. 输出可控性改进建议要求:
- 指出模糊指令点
- 建议补充的约束条件
- 推荐更优的提取策略

通过以上方法构建的 prompt 可实现:

  • 参数提取准确率提升40%+
  • 异常情况处理完备性达90%
  • 输出标准化程度100%符合目标schema

关键是要持续迭代优化,建议配合真实数据测试记录prompt在不同场景下的表现,建立prompt版本管理系统。

http://www.dtcms.com/a/328787.html

相关文章:

  • 【P21】OpenCV Python——RGB和BGR,HSV和HSL颜色空间,及VScode中报错问题解决
  • vscode扩展应用 -koroFileHeader(jsdoc代码风格注释)
  • .net\c#web、小程序、安卓开发之基于asp.net家用汽车销售管理系统的设计与实现
  • InnoDB如何解决脏读、不可重复读和幻读的?
  • 天文与航天领域专业计算库介绍
  • C# 反射入门:如何获取 Type 对象?
  • Blender模拟结构光3D Scanner(一)外参数匹配
  • 决策树回归:用“分而治之”的智慧,搞定非线性回归难题(附3D可视化)
  • JS 与 C++ 双向通信实战:基于 WebHostViewListener 的消息处理机制
  • Java后端面试题(含Dubbo、MQ、分布式、并发、算法)
  • 分布式与微服务宝典
  • 智能算法流程图在临床工作中的编程视角系统分析
  • 【docker①】在VS Code中使用Docker容器
  • 安全点(Safepoint)完成后唤醒暂停线程的过程
  • 解决uni-app微信小程序编译报错:unexpected character `1`
  • 机器学习实战·第三章 分类(2)
  • EI学术会议 | 虚拟现实、图像和信号处理
  • 股指期货长线还是短线好?
  • AWS Redis Serverless连接完全指南:从安装到实战
  • Notepad++插件开发实战:从入门到精通
  • oss(阿里云)前端直传
  • 使用 Milvus Operator 在 Kubernetes 中部署 Milvus记录
  • LeetCode 刷题【40. 组合总和 II】
  • 3d游戏引擎中ContentTools中的文件模型导入代码1
  • python---list.sort() 和 sorted(list)的区别
  • JVM安全点轮询汇编函数解析
  • 计算机网络---IPv6
  • 第6节 torch.nn.Module
  • 熬夜面膜赛道跑出的新物种
  • Spring Boot初级概念及自动配置原理