app:
  description: 商品タイトル・説明から検索キーワードおよび属性タグ（色・素材・季節）を抽出して、自動で商品タグを生成します。
  icon: 🏷️
  icon_background: '#FFEAD5'
  mode: workflow
  name: 小売 商品タグ自動付与
  use_icon_as_answer_icon: false
kind: app
version: 0.6.0
workflow:
  conversation_variables: []
  environment_variables: []
  features:
    file_upload:
      image:
        enabled: false
    opening_statement: ''
    suggested_questions: []
    suggested_questions_after_answer:
      enabled: false
    text_to_speech:
      enabled: false
  graph:
    edges:
    - data:
        sourceType: start
        targetType: parameter-extractor
      id: start-to-extractor1
      source: start
      target: extractor1
    - data:
        sourceType: parameter-extractor
        targetType: llm
      id: extractor1-to-llm1
      source: extractor1
      target: llm1
    - data:
        sourceType: llm
        targetType: end
      id: llm1-to-end
      source: llm1
      target: end
    nodes:
    - data:
        title: 開始
        type: start
        variables:
        - label: query
          max_length: 2048
          options: []
          required: true
          type: paragraph
          variable: query
      height: 90
      id: start
      position:
        x: 80
        y: 282
      type: custom
      width: 244
    - data:
        title: 属性抽出（パラメータ抽出）
        type: parameter-extractor
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.2
        query:
        - start
        - query
        parameters:
        - name: keywords
          type: string
          description: 検索キーワード（カンマ区切り）
          required: true
        - name: colors
          type: string
          description: 色タグ（カンマ区切り）
          required: false
        - name: materials
          type: string
          description: 素材タグ（カンマ区切り）
          required: false
        - name: seasons
          type: string
          description: 季節タグ（カンマ区切り）
          required: false
        reasoning_mode: prompt
        instruction: '以下の入力（商品タイトル・説明）から、検索キーワードおよび属性タグを抽出してください。


          抽出ルール:

          - keywords: ユーザーが検索に使いそうな語句を5〜10個程度、重要な順にカンマ区切りで列挙してください。複合語も可。

          - colors: 記載があれば色名をカンマ区切りで列挙。該当なしの場合は空欄（空文字）で構わない。

          - materials: 記載があれば素材名をカンマ区切りで列挙。該当なしの場合は空欄。

          - seasons: 季節性が明確なら「春,夏」等カンマ区切りで列挙。該当なしは空欄。

          - 出力は各パラメータに対応する値のみを返してください（指示に従ってDifyのパラメータ形式で返されます）。


          入力テキスト:

          {{#start.query#}}

          '
        id: extractor1
      height: 90
      id: extractor1
      position:
        x: 380
        y: 282
      type: custom
      width: 244
    - data:
        title: 商品タグ整形（LLM）
        type: llm
        model:
          provider: openai
          name: gpt-5-mini
          mode: chat
          completion_params:
            temperature: 0.3
        prompt_template:
        - role: system
          text: "あなたはECサイト向けの商品タグ付与・検索最適化の専門家です。以下の抽出結果を受け取り、\n- 最終的な「商品タグ（カンマ区切り）」を生成すること（検索キーワード、色、素材、季節などを統合）。\n\
            - 管理者向けに1〜2文の簡潔な説明を付けること（日本語）。\n- 再利用しやすい「検索キーワード」欄をカンマ区切りで出力すること。\n\n\
            出力は必ずJSONで1つのJSONオブジェクトとして返してください。キーは以下のとおりにしてください:\n- tags: カンマ区切りのタグ（検索に使える粒度で、重複を避ける）\n\
            - description: 日本語で1〜2文の簡潔な説明\n- keywords: カンマ区切りの検索キーワード（原則抽出されたkeywordsを優先して整形）\n\
            \n例:\n{\n  \"tags\": \"赤,コットン,春,レディース,カジュアル\",\n  \"description\": \"\
            赤いコットン素材のカジュアルレディーストップス。春先の着用に適しています。\",\n  \"keywords\": \"赤,コットン,レディース,トップス,春,カジュアル\"\
            \n}\n"
        - role: user
          text: '元の入力（商品タイトル・説明）:

            {{#start.query#}}


            パラメータ抽出結果:

            検索キーワード: {{#extractor1.keywords#}}

            色: {{#extractor1.colors#}}

            素材: {{#extractor1.materials#}}

            季節: {{#extractor1.seasons#}}


            上記を元に、前述のJSONフォーマットで出力してください。

            '
        vision:
          enabled: false
        memory: null
        context:
          enabled: false
      height: 90
      id: llm1
      position:
        x: 680
        y: 282
      type: custom
      width: 244
    - data:
        title: 終了
        type: end
        outputs:
        - value_selector:
          - llm1
          - text
          variable: result
      height: 90
      id: end
      position:
        x: 980
        y: 282
      type: custom
      width: 244
  hash: null
