Files
ollama-k80-lab/dify/ER2Summary.yml
Shang Chieh Tseng 710bc25775 Add workflows.
2025-05-27 18:58:56 +08:00

371 lines
12 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
app:
description: ''
icon: japanese_ogre
icon_background: '#FFEAD5'
mode: workflow
name: ER2Summary
use_icon_as_answer_icon: false
dependencies:
- current_identifier: null
type: marketplace
value:
marketplace_plugin_unique_identifier: langgenius/jira:0.0.1@6e48c77165a5bf21ad2a7fa2c73599468acc528706bc5dcbdd5e44d57e01c50b
- current_identifier: null
type: marketplace
value:
marketplace_plugin_unique_identifier: langgenius/ollama:0.0.6@7d66a960a68cafdcdf5589fdf5d01a995533f956853c69c54eddcf797006fa37
kind: app
version: 0.3.0
workflow:
conversation_variables: []
environment_variables: []
features:
file_upload:
allowed_file_extensions:
- .JPG
- .JPEG
- .PNG
- .GIF
- .WEBP
- .SVG
allowed_file_types:
- image
allowed_file_upload_methods:
- local_file
- remote_url
enabled: false
fileUploadConfig:
audio_file_size_limit: 50
batch_count_limit: 5
file_size_limit: 15
image_file_size_limit: 10
video_file_size_limit: 100
workflow_file_upload_limit: 10
image:
enabled: false
number_limits: 3
transfer_methods:
- local_file
- remote_url
number_limits: 3
opening_statement: ''
retriever_resource:
enabled: true
sensitive_word_avoidance:
enabled: false
speech_to_text:
enabled: false
suggested_questions: []
suggested_questions_after_answer:
enabled: false
text_to_speech:
enabled: false
language: ''
voice: ''
graph:
edges:
- data:
isInIteration: false
isInLoop: false
sourceType: start
targetType: tool
id: 1747817616323-source-1747883690530-target
source: '1747817616323'
sourceHandle: source
target: '1747883690530'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: code
id: 1747883690530-source-1747819131717-target
source: '1747883690530'
sourceHandle: source
target: '1747819131717'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: llm
id: 1747819131717-source-1747895800944-target
source: '1747819131717'
sourceHandle: source
target: '1747895800944'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: end
id: 1747905952533-source-1747817691653-target
source: '1747905952533'
sourceHandle: source
target: '1747817691653'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: llm
targetType: code
id: 1747895800944-source-1747905952533-target
source: '1747895800944'
sourceHandle: source
target: '1747905952533'
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
desc: ''
selected: false
title: Start
type: start
variables:
- label: Key
max_length: 48
options: []
required: true
type: text-input
variable: key
height: 90
id: '1747817616323'
position:
x: -122
y: -10
positionAbsolute:
x: -122
y: -10
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
outputs:
- value_selector:
- '1747905952533'
- result
variable: result
selected: false
title: End
type: end
height: 90
id: '1747817691653'
position:
x: 501.22702660966024
y: 79.53306314182922
positionAbsolute:
x: 501.22702660966024
y: 79.53306314182922
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "import re\n\n\ndef atlassian_to_markdown(text: str) -> str:\n \"\
\"\"\n Converts Atlassian wiki-style markup to standard Markdown.\n \
\ \"\"\"\n\n # Normalize line breaks\n text = text.replace('\\\\\
n', '\\n').replace('\\r\\n', '\\n')\n\n # Bold text: +*text*+ → **text**\n\
\ text = re.sub(r'\\+\\*(.+?)\\*\\+', r'**\\1**', text)\n\n # Headings:\
\ h1. → #, h2. → ##, etc.\n text = re.sub(r'^h([1-6])\\.\\s+', lambda\
\ m: '#' *\n int(m.group(1)) + ' ', text, flags=re.MULTILINE)\n\
\n # Blockquotes: > lines\n text = re.sub(r'^\\s*>', '>', text, flags=re.MULTILINE)\n\
\n # Image conversion: !URL|params! → ![](URL)\n text = re.sub(r'!([^\\\
|!]+)\\|[^!]*!', r'![](\\1)', text)\n\n # Escaped dividers to markdown\
\ horizontal rules\n text = re.sub(r'\\\\[-]+', '---', text)\n\n #\
\ Remove extra Unicode whitespace characters (e.g., non-breaking spaces)\n\
\ # note: the space before \\t is a non-breaking space\n text = re.sub(r'[ \\\
t]+', ' ', text)\n\n # Collapse multiple blank lines to a maximum of\
\ 2\n text = re.sub(r'\\n{3,}', '\\n\\n', text)\n\n # Strip trailing\
\ spaces\n text = '\\n'.join(line.rstrip() for line in text.splitlines())\n\
\n return text.strip()\n\n\ndef format_comments_display(comments: list)\
\ -> str:\n \"\"\"\n Format a list of comments to simple markdown\
\ with display name and converted body.\n \"\"\"\n output = []\n \
\ for comment in comments:\n name = comment.get(\"author\", {}).get(\"\
displayName\", \"Unknown Author\")\n body_raw = comment.get(\"body\"\
, \"\")\n body_md = atlassian_to_markdown(body_raw)\n output.append(f\"\
### {name}\\n\\n{body_md}\\n\")\n return \"\\n---\\n\".join(output)\n\
\n\ndef main(jira_response: list) -> dict:\n \"\"\"Formats JSON data\
\ into a Jira-style ticket string (simplified format).\"\"\"\n issue\
\ = jira_response[0][\"issue\"]\n jira_ticket = issue[\"key\"]\n root_cause\
\ = atlassian_to_markdown(issue[\"fields\"][\"customfield_10205\"])\n \
\ description = atlassian_to_markdown(issue[\"fields\"][\"description\"\
])\n comments = format_comments_display(issue[\"fields\"][\"comment\"\
][\"comments\"])\n summary = issue[\"fields\"][\"summary\"]\n ticket\
\ = f\"\"\"\n## Jira Ticket\n{jira_ticket}\n\n## Title\n{summary}\n\n##\
\ Root Cause\n{root_cause}\n\n## Description\n{description}\n\n## Comment\n\
{comments}\n\"\"\"\n\n return {\n \"result\": ticket\n }\n"
code_language: python3
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: Format Jira response
type: code
variables:
- value_selector:
- '1747883690530'
- json
variable: jira_response
height: 54
id: '1747819131717'
position:
x: -11.190539821206812
y: 171.25540547079942
positionAbsolute:
x: -11.190539821206812
y: 171.25540547079942
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
is_team_authorization: true
output_schema: null
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: The Key of the Jira issue to retrieve details for (e.g., 'PROJ-123').
ja_JP: The Key of the Jira issue to retrieve details for (e.g., 'PROJ-123').
pt_BR: O ID ou a chave da issue a ser recuperada.
zh_Hans: 要获取详情的 Jira 问题的 Key (例如 'PROJ-123')。
label:
en_US: Issue Key
ja_JP: Issue Key
pt_BR: ID ou Chave da Issue
zh_Hans: 问题 Key
llm_description: The unique key (e.g., 'PROJ-123') for the Jira issue for
which details are requested. This field is mandatory.
max: null
min: null
name: issue_key
options: []
placeholder: null
precision: null
required: true
scope: null
template: null
type: string
params:
issue_key: ''
provider_id: langgenius/jira/jira
provider_name: langgenius/jira/jira
provider_type: builtin
selected: false
title: Get Jira Issue Details
tool_configurations: {}
tool_description: Retrieves details for a specific Jira issue.
tool_label: Get Jira Issue Details
tool_name: get_issue
tool_parameters:
issue_key:
type: mixed
value: '{{#1747817616323.key#}}'
type: tool
height: 54
id: '1747883690530'
position:
x: -64.33288254138103
y: 98.39009010462206
positionAbsolute:
x: -64.33288254138103
y: 98.39009010462206
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
context:
enabled: false
variable_selector: []
desc: ''
model:
completion_params:
num_ctx: 8192
temperature: 0
mode: chat
name: gemma3:12b
provider: langgenius/ollama/ollama
prompt_template:
- id: 779cc54c-a30d-4bab-9e59-402591b89081
role: system
text: Summary a customer issue. Response summary only, no opening words.
- id: e02c0dbc-6515-4667-8b6a-870455d2f15c
role: user
text: 'Customer issue: {{#1747819131717.result#}}'
selected: true
title: SUMMARY CUSTOMER ISSUE
type: llm
variables: []
vision:
enabled: false
height: 90
id: '1747895800944'
position:
x: 53.64684795127846
y: 243.68108125546502
positionAbsolute:
x: 53.64684795127846
y: 243.68108125546502
selected: true
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\ndef main(summary: str, customer_issue: str) -> dict:\n output\
\ = f\"\"\"\n# Summary\n{summary}\n\n# Customer Issue\n{customer_issue}\n\
\"\"\"\n return {\n \"result\": output\n }\n"
code_language: python3
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: Format output
type: code
variables:
- value_selector:
- '1747895800944'
- text
variable: summary
- value_selector:
- '1747819131717'
- result
variable: customer_issue
height: 54
id: '1747905952533'
position:
x: 427.66710480323854
y: -10
positionAbsolute:
x: 427.66710480323854
y: -10
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
viewport:
x: 232.8226952008705
y: 256.5781340693524
zoom: 1.0111520808513048