DSL exports of the apps, import instructions in README
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,254 @@
|
|||||||
|
app:
|
||||||
|
description: ''
|
||||||
|
icon: 🤖
|
||||||
|
icon_background: '#FFEAD5'
|
||||||
|
icon_type: emoji
|
||||||
|
mode: workflow
|
||||||
|
name: Text at level
|
||||||
|
use_icon_as_answer_icon: false
|
||||||
|
dependencies:
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||||
|
version: null
|
||||||
|
kind: app
|
||||||
|
version: 0.7.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:
|
||||||
|
attachment_image_file_size_limit: 2
|
||||||
|
audio_file_size_limit: 50
|
||||||
|
batch_count_limit: 5
|
||||||
|
file_size_limit: 15
|
||||||
|
file_upload_limit: 50
|
||||||
|
image_file_batch_limit: 10
|
||||||
|
image_file_size_limit: 10
|
||||||
|
knowledge_file_size_limit: 50
|
||||||
|
single_chunk_attachment_limit: 10
|
||||||
|
skill_file_size_limit: 50
|
||||||
|
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: llm
|
||||||
|
id: 1789938975576--1789939221760-target
|
||||||
|
source: '1789938975576'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789939221760'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: llm
|
||||||
|
id: 1789939221760--1789939284953-target
|
||||||
|
source: '1789939221760'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789939284953'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: end
|
||||||
|
id: 1789939284953--1789939323209-target
|
||||||
|
source: '1789939284953'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789939323209'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
nodes:
|
||||||
|
- data:
|
||||||
|
selected: false
|
||||||
|
title: User Input
|
||||||
|
type: start
|
||||||
|
variables:
|
||||||
|
- default: ''
|
||||||
|
hint: ''
|
||||||
|
label: The text you want to adapt
|
||||||
|
max_length: 5000
|
||||||
|
options: []
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: paragraph
|
||||||
|
variable: text
|
||||||
|
- hint: ''
|
||||||
|
label: Level
|
||||||
|
options:
|
||||||
|
- year 6
|
||||||
|
- year 7
|
||||||
|
- year 9
|
||||||
|
- year 12
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
variable: level
|
||||||
|
height: 134
|
||||||
|
id: '1789938975576'
|
||||||
|
position:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: false
|
||||||
|
variable_selector: []
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: f40476ac-a09a-4e92-b358-695f89703c7a
|
||||||
|
role: system
|
||||||
|
text: 'Rewrite the text below so that a student at this level can read it.
|
||||||
|
Keep all the factual content. Do not replace technical terms, but explain
|
||||||
|
them in a subordinate clause. Write short sentences.
|
||||||
|
|
||||||
|
Level: {{#1789938975576.level#}}
|
||||||
|
|
||||||
|
Text: {{#1789938975576.text#}}'
|
||||||
|
selected: false
|
||||||
|
title: LLM
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789939221760'
|
||||||
|
position:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: false
|
||||||
|
variable_selector: []
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: 99018d18-8dd6-47d0-80b8-99d56108f7e0
|
||||||
|
role: system
|
||||||
|
text: 'Write three comprehension questions about the text below. Question
|
||||||
|
1 is about a fact in the text, question 2 about the main idea, question
|
||||||
|
3 asks the student to apply something. Do not give answers.
|
||||||
|
|
||||||
|
Text: {{#1789939221760.text#}}'
|
||||||
|
selected: false
|
||||||
|
title: LLM 2
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789939284953'
|
||||||
|
position:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
outputs:
|
||||||
|
- value_selector:
|
||||||
|
- '1789939221760'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: rewritten_text
|
||||||
|
- value_selector:
|
||||||
|
- '1789939284953'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: questions
|
||||||
|
selected: false
|
||||||
|
title: Output
|
||||||
|
type: end
|
||||||
|
height: 114
|
||||||
|
id: '1789939323209'
|
||||||
|
position:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
viewport:
|
||||||
|
x: -877.9220779220777
|
||||||
|
y: 85.78808995882173
|
||||||
|
zoom: 1.4254038644282545
|
||||||
|
rag_pipeline_variables: []
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
app:
|
||||||
|
description: ''
|
||||||
|
icon: 🤖
|
||||||
|
icon_background: '#FFEAD5'
|
||||||
|
icon_type: emoji
|
||||||
|
mode: agent-chat
|
||||||
|
name: School guide assistant
|
||||||
|
use_icon_as_answer_icon: false
|
||||||
|
dependencies:
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||||
|
version: null
|
||||||
|
kind: app
|
||||||
|
model_config:
|
||||||
|
agent_mode:
|
||||||
|
enabled: true
|
||||||
|
max_iteration: 10
|
||||||
|
prompt: null
|
||||||
|
strategy: function_call
|
||||||
|
tools: []
|
||||||
|
annotation_reply:
|
||||||
|
enabled: false
|
||||||
|
chat_prompt_config:
|
||||||
|
prompt:
|
||||||
|
- role: system
|
||||||
|
text: ''
|
||||||
|
completion_prompt_config:
|
||||||
|
conversation_histories_role:
|
||||||
|
assistant_prefix: ''
|
||||||
|
user_prefix: ''
|
||||||
|
prompt:
|
||||||
|
text: ''
|
||||||
|
dataset_configs:
|
||||||
|
datasets:
|
||||||
|
datasets:
|
||||||
|
- dataset:
|
||||||
|
enabled: true
|
||||||
|
id: 368e0cf3-6774-459c-9beb-0479aa6f72b5
|
||||||
|
reranking_enable: true
|
||||||
|
reranking_mode: reranking_model
|
||||||
|
reranking_model:
|
||||||
|
reranking_model_name: qwen3-rerank
|
||||||
|
reranking_provider_name: langgenius/tongyi/tongyi
|
||||||
|
retrieval_model: multiple
|
||||||
|
top_k: 4
|
||||||
|
dataset_query_variable: ''
|
||||||
|
external_data_tools: []
|
||||||
|
file_upload:
|
||||||
|
allowed_file_extensions:
|
||||||
|
- .JPG
|
||||||
|
- .JPEG
|
||||||
|
- .PNG
|
||||||
|
- .GIF
|
||||||
|
- .WEBP
|
||||||
|
- .SVG
|
||||||
|
- .MP4
|
||||||
|
- .MOV
|
||||||
|
- .MPEG
|
||||||
|
- .WEBM
|
||||||
|
allowed_file_types: []
|
||||||
|
allowed_file_upload_methods:
|
||||||
|
- remote_url
|
||||||
|
- local_file
|
||||||
|
enabled: false
|
||||||
|
image:
|
||||||
|
detail: high
|
||||||
|
enabled: false
|
||||||
|
number_limits: 3
|
||||||
|
transfer_methods:
|
||||||
|
- remote_url
|
||||||
|
- local_file
|
||||||
|
number_limits: 3
|
||||||
|
model:
|
||||||
|
completion_params:
|
||||||
|
stop: []
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
more_like_this:
|
||||||
|
enabled: false
|
||||||
|
opening_statement: ''
|
||||||
|
pre_prompt: 'You are the school guide assistant of Example College. You answer questions
|
||||||
|
from parents and students about the school rules.
|
||||||
|
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
|
||||||
|
- Base your answer only on the school guide in your knowledge base.
|
||||||
|
|
||||||
|
- If the answer is not in the school guide, say honestly that you do not know
|
||||||
|
and refer to reception.
|
||||||
|
|
||||||
|
- Answer briefly and in plain English, at most five sentences.
|
||||||
|
|
||||||
|
- Where possible, name the chapter of the school guide the answer comes from.
|
||||||
|
|
||||||
|
|
||||||
|
Reception mode: if a staff member starts with "Reception:" and then pastes a question
|
||||||
|
from a parent, you write the reply that the staff member can send to that parent.
|
||||||
|
Then follow the style guide in your knowledge base: address the parent formally,
|
||||||
|
reading level B1, no abbreviations, no words from the list of words to avoid,
|
||||||
|
at most six sentences, and end with a way to get in touch. If you do not know
|
||||||
|
the answer from the school guide, write a short message saying you will check
|
||||||
|
and put [FILL IN] where the staff member must add the real answer.'
|
||||||
|
prompt_type: simple
|
||||||
|
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: ''
|
||||||
|
user_input_form: []
|
||||||
|
version: 0.7.0
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
app:
|
||||||
|
description: ''
|
||||||
|
icon: 🤖
|
||||||
|
icon_background: '#FFEAD5'
|
||||||
|
icon_type: emoji
|
||||||
|
mode: agent-chat
|
||||||
|
name: Parent letter assistant
|
||||||
|
use_icon_as_answer_icon: false
|
||||||
|
dependencies:
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||||
|
version: null
|
||||||
|
kind: app
|
||||||
|
model_config:
|
||||||
|
agent_mode:
|
||||||
|
enabled: true
|
||||||
|
max_iteration: 10
|
||||||
|
prompt: null
|
||||||
|
strategy: function_call
|
||||||
|
tools: []
|
||||||
|
annotation_reply:
|
||||||
|
enabled: false
|
||||||
|
chat_prompt_config:
|
||||||
|
prompt:
|
||||||
|
- role: system
|
||||||
|
text: ''
|
||||||
|
completion_prompt_config:
|
||||||
|
conversation_histories_role:
|
||||||
|
assistant_prefix: ''
|
||||||
|
user_prefix: ''
|
||||||
|
prompt:
|
||||||
|
text: ''
|
||||||
|
dataset_configs:
|
||||||
|
datasets:
|
||||||
|
datasets:
|
||||||
|
- dataset:
|
||||||
|
enabled: true
|
||||||
|
id: 368e0cf3-6774-459c-9beb-0479aa6f72b5
|
||||||
|
reranking_enable: true
|
||||||
|
reranking_mode: reranking_model
|
||||||
|
reranking_model:
|
||||||
|
reranking_model_name: qwen3-rerank
|
||||||
|
reranking_provider_name: langgenius/tongyi/tongyi
|
||||||
|
retrieval_model: multiple
|
||||||
|
top_k: 4
|
||||||
|
dataset_query_variable: ''
|
||||||
|
external_data_tools: []
|
||||||
|
file_upload:
|
||||||
|
allowed_file_extensions:
|
||||||
|
- .JPG
|
||||||
|
- .JPEG
|
||||||
|
- .PNG
|
||||||
|
- .GIF
|
||||||
|
- .WEBP
|
||||||
|
- .SVG
|
||||||
|
- .MP4
|
||||||
|
- .MOV
|
||||||
|
- .MPEG
|
||||||
|
- .WEBM
|
||||||
|
allowed_file_types: []
|
||||||
|
allowed_file_upload_methods:
|
||||||
|
- remote_url
|
||||||
|
- local_file
|
||||||
|
enabled: false
|
||||||
|
image:
|
||||||
|
detail: high
|
||||||
|
enabled: false
|
||||||
|
number_limits: 3
|
||||||
|
transfer_methods:
|
||||||
|
- remote_url
|
||||||
|
- local_file
|
||||||
|
number_limits: 3
|
||||||
|
model:
|
||||||
|
completion_params:
|
||||||
|
stop: []
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
more_like_this:
|
||||||
|
enabled: false
|
||||||
|
opening_statement: ''
|
||||||
|
pre_prompt: 'You are the parent letter assistant of Example College. Teachers, form
|
||||||
|
tutors and heads of year paste a draft letter or a few loose sentences, and you
|
||||||
|
turn it into a letter that parents understand at first reading.
|
||||||
|
|
||||||
|
|
||||||
|
Method:
|
||||||
|
|
||||||
|
1. Always consult the style guide in your knowledge base first. Apply the rules
|
||||||
|
on reading level B1, formal address, words to avoid, the structure of a parent
|
||||||
|
letter and the length.
|
||||||
|
|
||||||
|
2. If it is not clear who the letter is for (which class or year group) or what
|
||||||
|
the parent has to do, ask that first; do not guess.
|
||||||
|
|
||||||
|
3. First give the rewritten letter, with a subject line, and then under the heading
|
||||||
|
"What I changed" a list of at most five points, each with the rule from the style
|
||||||
|
guide it belongs to.
|
||||||
|
|
||||||
|
4. Do not invent dates, names or appointments that are not in the supplied text.
|
||||||
|
If something a parent needs to know is missing, put [FILL IN] in that place.
|
||||||
|
|
||||||
|
5. Be brief. No introduction, no compliment, no sign-off from you.'
|
||||||
|
prompt_type: simple
|
||||||
|
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: ''
|
||||||
|
user_input_form: []
|
||||||
|
version: 0.7.0
|
||||||
@@ -0,0 +1,633 @@
|
|||||||
|
app:
|
||||||
|
description: ''
|
||||||
|
icon: 🤖
|
||||||
|
icon_background: '#FFEAD5'
|
||||||
|
icon_type: emoji
|
||||||
|
mode: workflow
|
||||||
|
name: School news
|
||||||
|
use_icon_as_answer_icon: false
|
||||||
|
dependencies:
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||||
|
version: null
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/tongyi:0.2.22@9cea96ffc7977f536c02999c80ff1283b1819aab9b6fa2fdf789d0c6c7d03715
|
||||||
|
version: null
|
||||||
|
kind: app
|
||||||
|
version: 0.7.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:
|
||||||
|
attachment_image_file_size_limit: 2
|
||||||
|
audio_file_size_limit: 50
|
||||||
|
batch_count_limit: 5
|
||||||
|
file_size_limit: 15
|
||||||
|
file_upload_limit: 50
|
||||||
|
image_file_batch_limit: 10
|
||||||
|
image_file_size_limit: 10
|
||||||
|
knowledge_file_size_limit: 50
|
||||||
|
single_chunk_attachment_limit: 10
|
||||||
|
skill_file_size_limit: 50
|
||||||
|
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: knowledge-retrieval
|
||||||
|
id: 1789970877464--1789971129095-target
|
||||||
|
source: '1789970877464'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789971129095'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: knowledge-retrieval
|
||||||
|
targetType: llm
|
||||||
|
id: 1789971129095--1789971168021-target
|
||||||
|
source: '1789971129095'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789971168021'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: llm
|
||||||
|
id: 1789971168021--1789971306805-target
|
||||||
|
source: '1789971168021'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789971306805'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: llm
|
||||||
|
id: 1789971306805--1789971527769-target
|
||||||
|
source: '1789971306805'
|
||||||
|
sourceHandle: source
|
||||||
|
target: '1789971527769'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: llm
|
||||||
|
id: 1789971527769--1789974076229-target
|
||||||
|
source: '1789971527769'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789974076229'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: code
|
||||||
|
id: 1789974076229--1789974245797-target
|
||||||
|
source: '1789974076229'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789974245797'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: code
|
||||||
|
targetType: if-else
|
||||||
|
id: 1789974245797--1789974430545-target
|
||||||
|
source: '1789974245797'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789974430545'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: if-else
|
||||||
|
targetType: end
|
||||||
|
id: 1789974430545-true-1789974474578-target
|
||||||
|
source: '1789974430545'
|
||||||
|
sourceHandle: 'true'
|
||||||
|
target: '1789974474578'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: if-else
|
||||||
|
targetType: end
|
||||||
|
id: 1789974430545-false-1789974564321-target
|
||||||
|
source: '1789974430545'
|
||||||
|
sourceHandle: 'false'
|
||||||
|
target: '1789974564321'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
nodes:
|
||||||
|
- data:
|
||||||
|
selected: false
|
||||||
|
title: User Input
|
||||||
|
type: start
|
||||||
|
variables:
|
||||||
|
- default: ''
|
||||||
|
hint: ''
|
||||||
|
label: What has happened or is going to happen? (who, what, where, when)
|
||||||
|
options: []
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: paragraph
|
||||||
|
variable: core_message
|
||||||
|
- default: ''
|
||||||
|
hint: ''
|
||||||
|
label: 'For which class or year group? (or: whole school)'
|
||||||
|
options: []
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: text-input
|
||||||
|
variable: year_group
|
||||||
|
- hint: ''
|
||||||
|
label: Which tone fits this message?
|
||||||
|
options:
|
||||||
|
- informative
|
||||||
|
- celebratory
|
||||||
|
- urgent
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
variable: tone
|
||||||
|
height: 160
|
||||||
|
id: '1789970877464'
|
||||||
|
position:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
dataset_ids:
|
||||||
|
- oTycHUKIxz5h9TqTOxYZojCNnbtTICvzVXxyCqucL8j6opdim+1j1Pa/ejwe91Qg
|
||||||
|
multiple_retrieval_config:
|
||||||
|
reranking_enable: true
|
||||||
|
reranking_mode: reranking_model
|
||||||
|
reranking_model:
|
||||||
|
model: qwen3-rerank
|
||||||
|
provider: langgenius/tongyi/tongyi
|
||||||
|
top_k: 4
|
||||||
|
query_attachment_selector: []
|
||||||
|
query_variable_selector:
|
||||||
|
- '1789970877464'
|
||||||
|
- core_message
|
||||||
|
retrieval_mode: multiple
|
||||||
|
selected: false
|
||||||
|
title: Knowledge Retrieval
|
||||||
|
type: knowledge-retrieval
|
||||||
|
height: 89
|
||||||
|
id: '1789971129095'
|
||||||
|
position:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: true
|
||||||
|
variable_selector:
|
||||||
|
- '1789971129095'
|
||||||
|
- result
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: 8cfee75c-0407-46b1-bcec-b19c6bb59459
|
||||||
|
role: system
|
||||||
|
text: 'Start your answer with the line WEBSITE followed by an empty line.
|
||||||
|
|
||||||
|
|
||||||
|
You write for Example College, a secondary school. Write a news item for
|
||||||
|
the website of at most 200 words. The headline is an active sentence of
|
||||||
|
at most eight words, without an exclamation mark. The first paragraph
|
||||||
|
answers who, what, where and when. End with a next step or a way to get
|
||||||
|
in touch. Stick strictly to the style guide below: reading level B1, formal
|
||||||
|
address for parents, words to avoid, names and photos of students. Adapt
|
||||||
|
to the chosen tone. Invent no facts. If something is missing, write [FILL
|
||||||
|
IN].
|
||||||
|
|
||||||
|
|
||||||
|
Style guide: {{#context#}}
|
||||||
|
|
||||||
|
|
||||||
|
Year group: {{#1789970877464.year_group#}}
|
||||||
|
|
||||||
|
Tone: {{#1789970877464.tone#}}
|
||||||
|
|
||||||
|
Core message: {{#1789970877464.core_message#}}'
|
||||||
|
selected: false
|
||||||
|
title: Website
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789971168021'
|
||||||
|
position:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: true
|
||||||
|
variable_selector:
|
||||||
|
- '1789971129095'
|
||||||
|
- result
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: 6d05c2e0-dfe6-4cd7-8cb8-f527927ed86e
|
||||||
|
role: system
|
||||||
|
text: 'Start your answer with the line PARENT APP followed by an empty line.
|
||||||
|
|
||||||
|
|
||||||
|
You write for Example College, a secondary school. Write a message for
|
||||||
|
the parent app of at most 80 words: parents read this on their phone.
|
||||||
|
One message, one date, one action; no introduction and no headline. Address
|
||||||
|
parents formally. Stick strictly to the style guide below. Adapt to the
|
||||||
|
chosen tone. Invent no facts. If something is missing, write [FILL IN].
|
||||||
|
|
||||||
|
|
||||||
|
Style guide: {{#context#}}
|
||||||
|
|
||||||
|
|
||||||
|
Year group: {{#1789970877464.year_group#}}
|
||||||
|
|
||||||
|
Tone: {{#1789970877464.tone#}}
|
||||||
|
|
||||||
|
Core message: {{#1789970877464.core_message#}}'
|
||||||
|
selected: false
|
||||||
|
title: Parent app
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789971306805'
|
||||||
|
position:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: true
|
||||||
|
variable_selector:
|
||||||
|
- '1789971129095'
|
||||||
|
- result
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: e86f1562-baba-4d04-b3f8-f47f4348b803
|
||||||
|
role: system
|
||||||
|
text: 'Start your answer with the line SOCIAL followed by an empty line.
|
||||||
|
|
||||||
|
|
||||||
|
You write for Example College, a secondary school. Write a post for the
|
||||||
|
school''s social media (Instagram and LinkedIn) of at most 60 words. Warm
|
||||||
|
and concrete, no hype. End with at most three hashtags, always including
|
||||||
|
#ExampleCollege. No names of students and no reference to recognisable
|
||||||
|
photos of students. Stick to the style guide below. Adapt to the chosen
|
||||||
|
tone. Invent no facts. If something is missing, write [FILL IN].
|
||||||
|
|
||||||
|
|
||||||
|
Style guide: {{#context#}}
|
||||||
|
|
||||||
|
|
||||||
|
Year group: {{#1789970877464.year_group#}}
|
||||||
|
|
||||||
|
Tone: {{#1789970877464.tone#}}
|
||||||
|
|
||||||
|
Core message: {{#1789970877464.core_message#}}'
|
||||||
|
selected: false
|
||||||
|
title: Social
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789971527769'
|
||||||
|
position:
|
||||||
|
x: 1288
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 1288
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: true
|
||||||
|
variable_selector:
|
||||||
|
- '1789971129095'
|
||||||
|
- result
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: 46332227-30db-4baf-a45f-59440772a731
|
||||||
|
role: system
|
||||||
|
text: 'You are the checker of Example College. Below is a draft message
|
||||||
|
for the parent app. Assess it on these points from the style guide: at
|
||||||
|
most 80 words; parents are addressed formally; one message, one date and
|
||||||
|
one action; no abbreviations and no words from the list of words to avoid;
|
||||||
|
no names of students; reading level B1 (short sentences, everyday words).
|
||||||
|
|
||||||
|
|
||||||
|
Work in two steps. Step 1: briefly name what is wrong (or write: nothing).
|
||||||
|
Step 2: give the improved version. Invent no facts; what is not in the
|
||||||
|
draft stays [FILL IN]. Do not remove facts, dates or times that are in
|
||||||
|
the draft; a deadline for signing up belongs to the action and stays.
|
||||||
|
Do not change digits into words.
|
||||||
|
|
||||||
|
|
||||||
|
As your answer give ONLY the improved text, without step 1, without a
|
||||||
|
heading and without explanation. If the draft is already good, return
|
||||||
|
it unchanged.
|
||||||
|
|
||||||
|
|
||||||
|
Style guide: {{#context#}}
|
||||||
|
|
||||||
|
|
||||||
|
Draft message: {{#1789971306805.text#}}'
|
||||||
|
selected: false
|
||||||
|
title: Checker
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789974076229'
|
||||||
|
position:
|
||||||
|
x: 1590
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 1590
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
code: "def main(website: str, parent_app: str, social: str) -> dict:\n \
|
||||||
|
\ reasons = []\n forbidden = [\"by means of\", \"with regard to\", \"\
|
||||||
|
asap\", \"w.r.t.\", \"kindly\", \"parent(s)/carer(s)\", \"utilise\"]\n \
|
||||||
|
\ texts = ((\"website\", website, 230), (\"parent app\", parent_app, 90),\
|
||||||
|
\ (\"social\", social, 70))\n for name, text, maximum in texts:\n \
|
||||||
|
\ count = len(text.split())\n if count > maximum:\n \
|
||||||
|
\ reasons.append(f\"{name}: {count} words, maximum {maximum}\")\n \
|
||||||
|
\ if \"[FILL IN]\" in text:\n reasons.append(f\"{name}: contains\
|
||||||
|
\ [FILL IN], information is missing\")\n for word in forbidden:\n\
|
||||||
|
\ if word in text.lower():\n reasons.append(f\"\
|
||||||
|
{name}: contains the word to avoid '{word.strip()}'\")\n if \"#examplecollege\"\
|
||||||
|
\ not in social.lower():\n reasons.append(\"social: #ExampleCollege\
|
||||||
|
\ is missing\")\n return {\n \"ok\": 0 if reasons else 1,\n \
|
||||||
|
\ \"reasons\": \"\\n\".join(reasons) if reasons else \"All rules satisfied.\"\
|
||||||
|
,\n }\n"
|
||||||
|
code_language: python3
|
||||||
|
outputs:
|
||||||
|
ok:
|
||||||
|
children: null
|
||||||
|
type: number
|
||||||
|
reasons:
|
||||||
|
children: null
|
||||||
|
type: string
|
||||||
|
selected: false
|
||||||
|
title: Gatekeeper
|
||||||
|
type: code
|
||||||
|
variables:
|
||||||
|
- value_selector:
|
||||||
|
- '1789971168021'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: website
|
||||||
|
- value_selector:
|
||||||
|
- '1789974076229'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: parent_app
|
||||||
|
- value_selector:
|
||||||
|
- '1789971527769'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: social
|
||||||
|
height: 51
|
||||||
|
id: '1789974245797'
|
||||||
|
position:
|
||||||
|
x: 1892
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 1892
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
cases:
|
||||||
|
- case_id: 'true'
|
||||||
|
conditions:
|
||||||
|
- comparison_operator: '='
|
||||||
|
id: 905ee344-fc66-4bfd-91d0-773aa3a8ffe4
|
||||||
|
value: '1'
|
||||||
|
varType: number
|
||||||
|
variable_selector:
|
||||||
|
- '1789974245797'
|
||||||
|
- ok
|
||||||
|
logical_operator: and
|
||||||
|
selected: false
|
||||||
|
title: IF/ELSE
|
||||||
|
type: if-else
|
||||||
|
height: 123
|
||||||
|
id: '1789974430545'
|
||||||
|
position:
|
||||||
|
x: 2194
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 2194
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
outputs:
|
||||||
|
- value_selector:
|
||||||
|
- '1789971168021'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: website
|
||||||
|
- value_selector:
|
||||||
|
- '1789974076229'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: parent_app
|
||||||
|
- value_selector:
|
||||||
|
- '1789971527769'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: social
|
||||||
|
selected: false
|
||||||
|
title: Approved
|
||||||
|
type: end
|
||||||
|
height: 140
|
||||||
|
id: '1789974474578'
|
||||||
|
position:
|
||||||
|
x: 2496
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 2496
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
outputs:
|
||||||
|
- value_selector:
|
||||||
|
- '1789974245797'
|
||||||
|
- reasons
|
||||||
|
value_type: string
|
||||||
|
variable: rejected_because
|
||||||
|
- value_selector:
|
||||||
|
- '1789971168021'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: draft_website
|
||||||
|
- value_selector:
|
||||||
|
- '1789974076229'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: draft_parent_app
|
||||||
|
- value_selector:
|
||||||
|
- '1789971527769'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: draft_social
|
||||||
|
selected: false
|
||||||
|
title: To the communications officer
|
||||||
|
type: end
|
||||||
|
height: 166
|
||||||
|
id: '1789974564321'
|
||||||
|
position:
|
||||||
|
x: 2496
|
||||||
|
y: 461
|
||||||
|
positionAbsolute:
|
||||||
|
x: 2496
|
||||||
|
y: 461
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
viewport:
|
||||||
|
x: -679.6126274026951
|
||||||
|
y: 109.12408509473971
|
||||||
|
zoom: 0.4152130788699637
|
||||||
|
rag_pipeline_variables: []
|
||||||
@@ -0,0 +1,380 @@
|
|||||||
|
app:
|
||||||
|
description: ''
|
||||||
|
icon: 🤖
|
||||||
|
icon_background: '#FFEAD5'
|
||||||
|
icon_type: emoji
|
||||||
|
mode: workflow
|
||||||
|
name: Transcription tool
|
||||||
|
use_icon_as_answer_icon: false
|
||||||
|
dependencies:
|
||||||
|
- current_identifier: null
|
||||||
|
type: marketplace
|
||||||
|
value:
|
||||||
|
marketplace_plugin_unique_identifier: langgenius/openai:1.0.5@51583313a5988d5dca405063831ffeeacdc1f2e95f32a8c10b4c281ceef39ebb
|
||||||
|
version: null
|
||||||
|
kind: app
|
||||||
|
version: 0.7.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:
|
||||||
|
attachment_image_file_size_limit: 2
|
||||||
|
audio_file_size_limit: 50
|
||||||
|
batch_count_limit: 5
|
||||||
|
file_size_limit: 15
|
||||||
|
file_upload_limit: 50
|
||||||
|
image_file_batch_limit: 10
|
||||||
|
image_file_size_limit: 10
|
||||||
|
knowledge_file_size_limit: 50
|
||||||
|
single_chunk_attachment_limit: 10
|
||||||
|
skill_file_size_limit: 50
|
||||||
|
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: 1789973195460--1789973681972-target
|
||||||
|
source: '1789973195460'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789973681972'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: tool
|
||||||
|
targetType: llm
|
||||||
|
id: 1789973681972--1789973772088-target
|
||||||
|
source: '1789973681972'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789973772088'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
isInIteration: false
|
||||||
|
isInLoop: false
|
||||||
|
sourceType: llm
|
||||||
|
targetType: end
|
||||||
|
id: 1789973772088--1789973899206-target
|
||||||
|
source: '1789973772088'
|
||||||
|
sourceHandle: ''
|
||||||
|
target: '1789973899206'
|
||||||
|
targetHandle: target
|
||||||
|
type: custom
|
||||||
|
zIndex: 0
|
||||||
|
nodes:
|
||||||
|
- data:
|
||||||
|
selected: false
|
||||||
|
title: User Input
|
||||||
|
type: start
|
||||||
|
variables:
|
||||||
|
- allowed_file_extensions: []
|
||||||
|
allowed_file_types:
|
||||||
|
- audio
|
||||||
|
allowed_file_upload_methods:
|
||||||
|
- local_file
|
||||||
|
default: ''
|
||||||
|
hide: false
|
||||||
|
hint: ''
|
||||||
|
label: Recording of the meeting (mp3, m4a or wav)
|
||||||
|
options: []
|
||||||
|
placeholder: ''
|
||||||
|
required: true
|
||||||
|
type: file
|
||||||
|
variable: recording
|
||||||
|
height: 108
|
||||||
|
id: '1789973195460'
|
||||||
|
position:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 80
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
zIndex: 0
|
||||||
|
- data:
|
||||||
|
is_team_authorization: true
|
||||||
|
paramSchemas:
|
||||||
|
- auto_generate: null
|
||||||
|
default: null
|
||||||
|
form: llm
|
||||||
|
human_description:
|
||||||
|
en_US: The audio file to be converted.
|
||||||
|
ja_JP: The audio file to be converted.
|
||||||
|
pt_BR: The audio file to be converted.
|
||||||
|
zh_Hans: 要转换的音频文件。
|
||||||
|
input_schema: null
|
||||||
|
label:
|
||||||
|
en_US: Audio File
|
||||||
|
ja_JP: Audio File
|
||||||
|
pt_BR: Audio File
|
||||||
|
zh_Hans: 音频文件
|
||||||
|
llm_description: The audio file to be converted.
|
||||||
|
max: null
|
||||||
|
min: null
|
||||||
|
multiple: false
|
||||||
|
name: audio_file
|
||||||
|
options: []
|
||||||
|
placeholder: null
|
||||||
|
precision: null
|
||||||
|
required: true
|
||||||
|
scope: null
|
||||||
|
template: null
|
||||||
|
type: file
|
||||||
|
- auto_generate: null
|
||||||
|
default: null
|
||||||
|
form: form
|
||||||
|
human_description:
|
||||||
|
en_US: All available ASR models. You can config model in the Model Provider
|
||||||
|
of Settings.
|
||||||
|
ja_JP: All available ASR models. You can config model in the Model Provider
|
||||||
|
of Settings.
|
||||||
|
pt_BR: All available ASR models. You can config model in the Model Provider
|
||||||
|
of Settings.
|
||||||
|
zh_Hans: 所有可用的 ASR 模型。你可以在设置中的模型供应商里配置。
|
||||||
|
input_schema: null
|
||||||
|
label:
|
||||||
|
en_US: Model
|
||||||
|
ja_JP: Model
|
||||||
|
pt_BR: Model
|
||||||
|
zh_Hans: Model
|
||||||
|
llm_description: null
|
||||||
|
max: null
|
||||||
|
min: null
|
||||||
|
multiple: false
|
||||||
|
name: model
|
||||||
|
options:
|
||||||
|
- icon: null
|
||||||
|
label:
|
||||||
|
en_US: gpt-4o-mini-transcribe-2025-12-15(langgenius/openai/openai)
|
||||||
|
ja_JP: gpt-4o-mini-transcribe-2025-12-15(langgenius/openai/openai)
|
||||||
|
pt_BR: gpt-4o-mini-transcribe-2025-12-15(langgenius/openai/openai)
|
||||||
|
zh_Hans: gpt-4o-mini-transcribe-2025-12-15(langgenius/openai/openai)
|
||||||
|
value: langgenius/openai/openai#gpt-4o-mini-transcribe-2025-12-15
|
||||||
|
- icon: null
|
||||||
|
label:
|
||||||
|
en_US: gpt-4o-mini-transcribe(langgenius/openai/openai)
|
||||||
|
ja_JP: gpt-4o-mini-transcribe(langgenius/openai/openai)
|
||||||
|
pt_BR: gpt-4o-mini-transcribe(langgenius/openai/openai)
|
||||||
|
zh_Hans: gpt-4o-mini-transcribe(langgenius/openai/openai)
|
||||||
|
value: langgenius/openai/openai#gpt-4o-mini-transcribe
|
||||||
|
- icon: null
|
||||||
|
label:
|
||||||
|
en_US: gpt-4o-transcribe-diarize(langgenius/openai/openai)
|
||||||
|
ja_JP: gpt-4o-transcribe-diarize(langgenius/openai/openai)
|
||||||
|
pt_BR: gpt-4o-transcribe-diarize(langgenius/openai/openai)
|
||||||
|
zh_Hans: gpt-4o-transcribe-diarize(langgenius/openai/openai)
|
||||||
|
value: langgenius/openai/openai#gpt-4o-transcribe-diarize
|
||||||
|
- icon: null
|
||||||
|
label:
|
||||||
|
en_US: gpt-4o-transcribe(langgenius/openai/openai)
|
||||||
|
ja_JP: gpt-4o-transcribe(langgenius/openai/openai)
|
||||||
|
pt_BR: gpt-4o-transcribe(langgenius/openai/openai)
|
||||||
|
zh_Hans: gpt-4o-transcribe(langgenius/openai/openai)
|
||||||
|
value: langgenius/openai/openai#gpt-4o-transcribe
|
||||||
|
- icon: null
|
||||||
|
label:
|
||||||
|
en_US: whisper-1(langgenius/openai/openai)
|
||||||
|
ja_JP: whisper-1(langgenius/openai/openai)
|
||||||
|
pt_BR: whisper-1(langgenius/openai/openai)
|
||||||
|
zh_Hans: whisper-1(langgenius/openai/openai)
|
||||||
|
value: langgenius/openai/openai#whisper-1
|
||||||
|
placeholder: null
|
||||||
|
precision: null
|
||||||
|
required: true
|
||||||
|
scope: null
|
||||||
|
template: null
|
||||||
|
type: select
|
||||||
|
params:
|
||||||
|
audio_file: ''
|
||||||
|
model: ''
|
||||||
|
plugin_id: null
|
||||||
|
plugin_unique_identifier: ''
|
||||||
|
provider_icon: https://cloud.dify.ai/console/api/workspaces/current/tool-provider/builtin/audio/icon
|
||||||
|
provider_id: audio
|
||||||
|
provider_name: audio
|
||||||
|
provider_show_name: Audio
|
||||||
|
provider_type: builtin
|
||||||
|
selected: false
|
||||||
|
title: Speech To Text
|
||||||
|
tool_configurations:
|
||||||
|
model:
|
||||||
|
type: constant
|
||||||
|
value: langgenius/openai/openai#gpt-4o-transcribe-diarize
|
||||||
|
tool_description: Convert audio file to text.
|
||||||
|
tool_label: Speech To Text
|
||||||
|
tool_name: asr
|
||||||
|
tool_node_version: '2'
|
||||||
|
tool_parameters:
|
||||||
|
audio_file:
|
||||||
|
type: variable
|
||||||
|
value:
|
||||||
|
- '1789973195460'
|
||||||
|
- recording
|
||||||
|
type: tool
|
||||||
|
height: 87
|
||||||
|
id: '1789973681972'
|
||||||
|
position:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 382
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
context:
|
||||||
|
enabled: false
|
||||||
|
variable_selector: []
|
||||||
|
model:
|
||||||
|
completion_params: {}
|
||||||
|
mode: chat
|
||||||
|
name: gpt-5-mini
|
||||||
|
provider: langgenius/openai/openai
|
||||||
|
prompt_template:
|
||||||
|
- id: fc3c9e64-5361-4d05-9d64-1704260d1ee7
|
||||||
|
role: system
|
||||||
|
text: 'Start your answer with the line # MINUTES followed by an empty line.
|
||||||
|
|
||||||
|
|
||||||
|
You write the minutes of a meeting at a school, based on the transcript
|
||||||
|
below. The transcript comes from automatic speech recognition and may
|
||||||
|
contain errors in names and numbers; write down what is most likely and
|
||||||
|
put a question mark in brackets after anything you are not sure of.
|
||||||
|
|
||||||
|
|
||||||
|
Write in English, businesslike and brief. Use exactly this structure with
|
||||||
|
these headings:
|
||||||
|
|
||||||
|
|
||||||
|
## Meeting
|
||||||
|
|
||||||
|
One line: which meeting, date, those present (if the transcript shows
|
||||||
|
it).
|
||||||
|
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
At most five sentences about what was discussed.
|
||||||
|
|
||||||
|
|
||||||
|
## Decisions
|
||||||
|
|
||||||
|
Numbered list. Only what was really decided, no intentions.
|
||||||
|
|
||||||
|
|
||||||
|
## Action points
|
||||||
|
|
||||||
|
Table with columns: What, Who, When. If no date is given, write "not mentioned".
|
||||||
|
|
||||||
|
|
||||||
|
## Deferred
|
||||||
|
|
||||||
|
Items deliberately moved to a later meeting, with the reason.
|
||||||
|
|
||||||
|
|
||||||
|
Leave out side tracks and informal remarks. Invent nothing that is not
|
||||||
|
in the transcript.
|
||||||
|
|
||||||
|
|
||||||
|
Transcript: {{#1789973681972.text#}}'
|
||||||
|
selected: false
|
||||||
|
title: Minutes
|
||||||
|
type: llm
|
||||||
|
vision:
|
||||||
|
enabled: false
|
||||||
|
height: 87
|
||||||
|
id: '1789973772088'
|
||||||
|
position:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 684
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
- data:
|
||||||
|
outputs:
|
||||||
|
- value_selector:
|
||||||
|
- '1789973772088'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: minutes
|
||||||
|
- value_selector:
|
||||||
|
- '1789973681972'
|
||||||
|
- text
|
||||||
|
value_type: string
|
||||||
|
variable: transcript
|
||||||
|
selected: false
|
||||||
|
title: Output
|
||||||
|
type: end
|
||||||
|
height: 114
|
||||||
|
id: '1789973899206'
|
||||||
|
position:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
positionAbsolute:
|
||||||
|
x: 986
|
||||||
|
y: 282
|
||||||
|
selected: false
|
||||||
|
sourcePosition: right
|
||||||
|
targetPosition: left
|
||||||
|
type: custom
|
||||||
|
width: 242
|
||||||
|
viewport:
|
||||||
|
x: -21.72663921444405
|
||||||
|
y: 9.100411783338643
|
||||||
|
zoom: 0.9613557174532783
|
||||||
|
rag_pipeline_variables: []
|
||||||
@@ -6,6 +6,7 @@ This is what changed per release.
|
|||||||
## 2026-09-20, English screenshots
|
## 2026-09-20, English screenshots
|
||||||
|
|
||||||
- Guides 01, 02, 03 and 07 rebuilt with the English Dify interface and English apps (Text at level, School guide assistant, Parent letter assistant, School news with checks; links in the README). The other guides follow.
|
- Guides 01, 02, 03 and 07 rebuilt with the English Dify interface and English apps (Text at level, School guide assistant, Parent letter assistant, School news with checks; links in the README). The other guides follow.
|
||||||
|
- Every Studio app as a `.dify.yml` file in its guide's folder, to import via Studio, Create, Import DSL file. Instructions in the README.
|
||||||
- New appendix 00-self-hosting: running Dify Community Edition yourself with Docker (Windows, Mac, Linux).
|
- New appendix 00-self-hosting: running Dify Community Edition yourself with Docker (Windows, Mac, Linux).
|
||||||
|
|
||||||
## 2026-09-20, first release
|
## 2026-09-20, first release
|
||||||
|
|||||||
@@ -63,6 +63,30 @@ The apps are live to try out:
|
|||||||
- Materials check (06; Dutch build): https://udify.app/agent/lkWKedkSW2d3nqBV
|
- Materials check (06; Dutch build): https://udify.app/agent/lkWKedkSW2d3nqBV
|
||||||
- Study coach biology (08; Dutch build): https://udify.app/chat/fP0TJW3s8IXOj9BO
|
- Study coach biology (08; Dutch build): https://udify.app/chat/fP0TJW3s8IXOj9BO
|
||||||
|
|
||||||
|
## Installing the apps in your own Dify
|
||||||
|
|
||||||
|
Every Studio app is also in its guide's folder as a file: `<name>.dify.yml`. That is Dify's DSL
|
||||||
|
export. This is how you put it in your own workspace (online or self-hosted):
|
||||||
|
|
||||||
|
1. Download the `.dify.yml` file from the folder.
|
||||||
|
2. In Dify go to **Studio**, click **Create** and choose **Import DSL file**.
|
||||||
|
3. Drag the file into the window and click **Create**.
|
||||||
|
4. At every LLM step pick your own model (the export refers to gpt-5-mini via OpenAI) and under
|
||||||
|
**Knowledge** attach your own knowledge base; that does not travel with the file. Create it
|
||||||
|
first with the sample document from the same folder (guide 02, steps 1 to 5).
|
||||||
|
5. **Publish**.
|
||||||
|
|
||||||
|
The files contain no keys. The Agent Console apps of 04 and 06 have no export (yet); you build
|
||||||
|
those with the guide.
|
||||||
|
|
||||||
|
| File | Guide |
|
||||||
|
| --- | --- |
|
||||||
|
| 01-workflow/text-at-level.dify.yml | 01 |
|
||||||
|
| 02-agent-knowledge-base/school-guide-assistant.dify.yml | 02 (including the Reception mode from 03) |
|
||||||
|
| 03-school-communication/parent-letter-assistant.dify.yml | 03 |
|
||||||
|
| 03-school-communication/school-news.dify.yml | 03 and 07 (version 2, with Checker and Gatekeeper) |
|
||||||
|
| 05-transcription-tool/transcription-tool.dify.yml | 05 |
|
||||||
|
|
||||||
## Building or editing yourself
|
## Building or editing yourself
|
||||||
|
|
||||||
Every folder has the same structure:
|
Every folder has the same structure:
|
||||||
|
|||||||
Reference in New Issue
Block a user