农技可视化教材生成

创建时间: 2026-07-01 16:52 | 步骤: 11 个

工作流描述

基于作物名称与病虫害描述,通过意图解析、知识检索增强、白话转换与硬清洗、文生图与语音合成,最终逻辑融合封装为包含病虫害写实识别图(强制中文标注)和通俗语音讲解的标准化农技可视化教材卡片,解决农户看不懂文字指导的痛点。

工作流输出

流程步骤 共 11 步

1深度解析农技意图并双轨拆分
2生成农技知识检索关键词
3联网搜索农技防治知识
4二次意图解析融合检索知识
5构建病虫害写实图Prompt
6启动病虫害识别图生成任务
7轮询识别图生成状态
8白话转换与TTS文本硬清洗
9启动防治语音生成任务
10轮询防治语音生成状态
11逻辑融合封装标准化教材卡片
工作流定义 (JSON)279 行
{
  "workflow_id": "agri_visual_teaching_card_generator",
  "input": {
    "crop_name": {
      "field_name": "crop_name",
      "default": "",
      "description": "发生病虫害的作物名称,需规范至通用农业名词",
      "example": "番茄",
      "required": true,
      "type": "string"
    },
    "disease_description": {
      "field_name": "disease_description",
      "default": "",
      "description": "病虫害特征描述,包含病状、发病环境等",
      "example": "叶片出现黑褐色斑点,边缘有黄色晕圈,高温高湿环境下易发生",
      "required": true,
      "type": "string"
    },
    "aspect_ratio": {
      "field_name": "aspect_ratio",
      "default": "1:1",
      "description": "识别图的宽高比,可选值:1:1, 3:4, 4:3, 16:9, 9:16",
      "example": "3:4",
      "required": false,
      "type": "string"
    }
  },
  "steps": [
    {
      "id": "step_1_intent_analyze",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "agri_intent_analyzer",
      "status": "PENDING",
      "name": "深度解析农技意图并双轨拆分",
      "action": "run",
      "params": {
        "crop_name": "{{@input.crop_name}}",
        "disease_description": "{{@input.disease_description}}"
      }
    },
    {
      "id": "step_2_generate_keywords",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "generate_keywords",
      "status": "PENDING",
      "name": "生成农技知识检索关键词",
      "action": "run",
      "params": {
        "crop_name": "{{@step_1_intent_analyze.result.data.structured_analysis.entities.1.name}}",
        "search_purpose": "补全标准防治步骤、药剂名称、稀释比例、施药时机、安全间隔期",
        "disease_description": "{{@input.disease_description}}"
      },
      "depends_on": [
        "step_1_intent_analyze"
      ]
    },
    {
      "id": "step_3_web_search",
      "point_code": "",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "web_search",
      "status": "PENDING",
      "name": "联网搜索农技防治知识",
      "action": "run",
      "params": {
        "gl": "cn",
        "q": "{{@step_2_generate_keywords.result.data.result}}",
        "hl": "zh-cn"
      },
      "depends_on": [
        "step_2_generate_keywords"
      ]
    },
    {
      "id": "step_4_intent_analyze_with_search",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "agri_intent_analyzer",
      "status": "PENDING",
      "name": "二次意图解析融合检索知识",
      "action": "run",
      "params": {
        "crop_name": "{{@input.crop_name}}",
        "search_results": "{{@step_3_web_search.result.data.organic}}",
        "disease_description": "{{@input.disease_description}}"
      },
      "depends_on": [
        "step_3_web_search"
      ]
    },
    {
      "id": "step_5_build_image_prompt",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "disease_image_prompt_builder",
      "status": "PENDING",
      "name": "构建病虫害写实图Prompt",
      "action": "run",
      "params": {
        "image_style_preset": "realistic_photography",
        "require_chinese_annotation": true,
        "image_feature_desc": "{{@step_4_intent_analyze_with_search.result.data.image_feature_desc}}",
        "annotation_positions": [
          "病斑特写旁标注特征描述",
          "黄色晕圈旁标注边缘特征"
        ]
      },
      "depends_on": [
        "step_4_intent_analyze_with_search"
      ]
    },
    {
      "id": "step_6_start_image_task",
      "point_code": "1",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "3373",
      "status": "PENDING",
      "name": "启动病虫害识别图生成任务",
      "action": "run",
      "params": {
        "prompt": "{{@step_5_build_image_prompt.result.data.result}}",
        "aspect_ratio": "{{@input.aspect_ratio}}"
      },
      "depends_on": [
        "step_5_build_image_prompt"
      ]
    },
    {
      "id": "step_7_poll_image_status",
      "point_code": "",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "polling",
      "status": "PENDING",
      "name": "轮询识别图生成状态",
      "action": "run",
      "params": {
        "result_url": "{{@step_6_start_image_task.result.data.result_url}}"
      },
      "depends_on": [
        "step_6_start_image_task"
      ],
      "polling": {
        "interval_seconds": 5,
        "timeout_seconds": 600,
        "success_condition": "{{@step_7_poll_image_status.result.data.task_status}} === 'SUCCEEDED'"
      }
    },
    {
      "id": "step_8_colloquial_rewrite",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "colloquial_rewrite_and_clean",
      "status": "PENDING",
      "name": "白话转换与TTS文本硬清洗",
      "action": "run",
      "params": {
        "target_audience": "老年农户,听力习惯偏慢,对学术术语理解困难",
        "academic_terms_map": "{{@step_4_intent_analyze_with_search.result.data.academic_terms_map}}",
        "raw_voice_text": "{{@step_4_intent_analyze_with_search.result.data.raw_voice_text}}",
        "max_duration_minutes": 3
      },
      "depends_on": [
        "step_4_intent_analyze_with_search"
      ]
    },
    {
      "id": "step_9_start_audio_task",
      "point_code": "1",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "3322",
      "status": "PENDING",
      "name": "启动防治语音生成任务",
      "action": "run",
      "params": {
        "model": "glm-tts",
        "input": "{{@step_8_colloquial_rewrite.result.data.pure_voice_text}}",
        "voice": "tongtong",
        "speed": 0.8,
        "volume": 1,
        "response_format": "wav"
      },
      "depends_on": [
        "step_8_colloquial_rewrite"
      ]
    },
    {
      "id": "step_10_poll_audio_status",
      "point_code": "",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "polling",
      "status": "PENDING",
      "name": "轮询防治语音生成状态",
      "action": "run",
      "params": {
        "result_url": "{{@step_9_start_audio_task.result.data.result_url}}"
      },
      "depends_on": [
        "step_9_start_audio_task"
      ],
      "polling": {
        "interval_seconds": 5,
        "timeout_seconds": 600,
        "success_condition": "{{@step_10_poll_audio_status.result.data.task_status}} === 'SUCCEEDED'"
      }
    },
    {
      "id": "step_11_merge_teaching_card",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "teaching_card_merge",
      "status": "PENDING",
      "name": "逻辑融合封装标准化教材卡片",
      "action": "run",
      "params": {
        "distribution_channels": [
          "微信小程序",
          "村镇广播系统",
          "短信链接"
        ],
        "image_url": "{{@step_7_poll_image_status.result.data.result_url}}",
        "image_prompt_used": "{{@step_5_build_image_prompt.result.data.result}}",
        "audio_params_used": {
          "model": "glm-tts",
          "speed_rate": 0.8
        },
        "pure_voice_text": "{{@step_8_colloquial_rewrite.result.data.pure_voice_text}}",
        "structured_intent": "{{@step_4_intent_analyze_with_search.result.data.structured_analysis}}",
        "audio_url": "{{@step_10_poll_audio_status.result.data.result_url}}",
        "colloquial_terms_map": "{{@step_8_colloquial_rewrite.result.data.colloquial_terms_map}}"
      },
      "depends_on": [
        "step_7_poll_image_status",
        "step_10_poll_audio_status",
        "step_8_colloquial_rewrite",
        "step_4_intent_analyze_with_search"
      ]
    }
  ],
  "output": {
    "image_url": {
      "field_name": "image_url",
      "description": "病虫害写实识别图URL(强制中文标注)",
      "value": "{{@step_7_poll_image_status.result.data.result_url}}",
      "type": "string"
    },
    "pure_voice_text": {
      "field_name": "pure_voice_text",
      "description": "纯净TTS白话原文(绝对无指令标签/特殊符号)",
      "value": "{{@step_8_colloquial_rewrite.result.data.pure_voice_text}}",
      "type": "string"
    },
    "teaching_card": {
      "field_name": "teaching_card",
      "description": "逻辑融合封装的标准化农技可视化教材卡片(含识别图区、语音讲解区、防治步骤区、术语对照区、安全提示区)",
      "value": "{{@step_11_merge_teaching_card.result.data.teaching_card}}",
      "type": "object"
    },
    "audio_url": {
      "field_name": "audio_url",
      "description": "防治步骤慢速语音讲解URL(0.8倍速,通俗口语)",
      "value": "{{@step_10_poll_audio_status.result.data.result_url}}",
      "type": "string"
    }
  }
}