2feaede14e
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
643 lines
18 KiB
YAML
643 lines
18 KiB
YAML
app:
|
|
description: ''
|
|
icon: 🤖
|
|
icon_background: '#FFEAD5'
|
|
icon_type: emoji
|
|
mode: workflow
|
|
name: Schoolnieuws
|
|
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: 15
|
|
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: 1789912805545--1789913220684-target
|
|
selected: false
|
|
source: '1789912805545'
|
|
sourceHandle: source
|
|
target: '1789913220684'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: knowledge-retrieval
|
|
targetType: llm
|
|
id: 1789913220684--1789913283624-target
|
|
selected: false
|
|
source: '1789913220684'
|
|
sourceHandle: source
|
|
target: '1789913283624'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: llm
|
|
targetType: llm
|
|
id: 1789913283624--1789913447671-target
|
|
selected: false
|
|
source: '1789913283624'
|
|
sourceHandle: source
|
|
target: '1789913447671'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: llm
|
|
targetType: llm
|
|
id: 1789913447671--1789914224310-target
|
|
source: '1789913447671'
|
|
sourceHandle: source
|
|
target: '1789914224310'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: llm
|
|
targetType: llm
|
|
id: 1789914224310--1789921225442-target
|
|
source: '1789914224310'
|
|
sourceHandle: source
|
|
target: '1789921225442'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: llm
|
|
targetType: code
|
|
id: 1789921225442--1789921317767-target
|
|
source: '1789921225442'
|
|
sourceHandle: source
|
|
target: '1789921317767'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: code
|
|
targetType: if-else
|
|
id: 1789921317767--1789921457891-target
|
|
source: '1789921317767'
|
|
sourceHandle: source
|
|
target: '1789921457891'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: if-else
|
|
targetType: end
|
|
id: 1789921457891-true-1789921490100-target
|
|
source: '1789921457891'
|
|
sourceHandle: 'true'
|
|
target: '1789921490100'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
- data:
|
|
isInIteration: false
|
|
isInLoop: false
|
|
sourceType: if-else
|
|
targetType: end
|
|
id: 1789921457891-false-1789921594492-target
|
|
source: '1789921457891'
|
|
sourceHandle: 'false'
|
|
target: '1789921594492'
|
|
targetHandle: target
|
|
type: custom
|
|
zIndex: 0
|
|
nodes:
|
|
- data:
|
|
selected: false
|
|
title: User Input
|
|
type: start
|
|
variables:
|
|
- default: ''
|
|
hint: ''
|
|
label: Wat is er gebeurd of gaat er gebeuren? (wie, wat, waar, wanneer)
|
|
options: []
|
|
placeholder: ''
|
|
required: true
|
|
type: paragraph
|
|
variable: kernboodschap
|
|
- default: ''
|
|
hint: ''
|
|
label: 'Voor welke klas of afdeling? (of: hele school)'
|
|
options: []
|
|
placeholder: ''
|
|
required: true
|
|
type: text-input
|
|
variable: afdeling
|
|
- hint: ''
|
|
label: Welke toon past bij dit bericht?
|
|
options:
|
|
- informatief
|
|
- feestelijk
|
|
- dringend
|
|
placeholder: ''
|
|
required: true
|
|
type: select
|
|
variable: toon
|
|
height: 160
|
|
id: '1789912805545'
|
|
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:
|
|
- IV2tjRVYYkvBu0I6hVYVdNJjRHrmp51bTmvGIX9NBOn/1djPKkYpUIg0wBgi7B9m
|
|
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:
|
|
- '1789912805545'
|
|
- kernboodschap
|
|
retrieval_mode: multiple
|
|
selected: false
|
|
title: Knowledge Retrieval
|
|
type: knowledge-retrieval
|
|
height: 89
|
|
id: '1789913220684'
|
|
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:
|
|
- '1789913220684'
|
|
- result
|
|
model:
|
|
completion_params: {}
|
|
mode: chat
|
|
name: gpt-5-mini
|
|
provider: langgenius/openai/openai
|
|
prompt_template:
|
|
- id: 1a49e20d-2818-4aba-b105-370c308a6f25
|
|
role: system
|
|
text: 'Begin je antwoord met de regel WEBSITE en daarna een lege regel.
|
|
|
|
|
|
Je schrijft voor Het Voorbeeldcollege, een school voor voortgezet onderwijs.
|
|
Schrijf een nieuwsbericht voor de website van maximaal 200 woorden. De
|
|
kop is een actieve zin van maximaal acht woorden, zonder uitroepteken.
|
|
De eerste alinea beantwoordt wie, wat, waar en wanneer. Sluit af met een
|
|
vervolgstap of contactmogelijkheid. Houd je strikt aan de schrijfwijzer
|
|
hieronder: taalniveau B1, u voor ouders, te vermijden woorden, namen en
|
|
foto''s van leerlingen. Pas de toon aan die is gekozen. Verzin geen feiten.
|
|
Ontbreekt iets, schrijf dan [INVULLEN].
|
|
|
|
|
|
Schrijfwijzer: {{#context#}}
|
|
|
|
|
|
Afdeling: {{#1789912805545.afdeling#}}
|
|
|
|
Toon: {{#1789912805545.toon#}}
|
|
|
|
Kernboodschap: {{#1789912805545.kernboodschap#}}'
|
|
selected: false
|
|
title: Website
|
|
type: llm
|
|
vision:
|
|
enabled: false
|
|
height: 87
|
|
id: '1789913283624'
|
|
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:
|
|
- '1789913220684'
|
|
- result
|
|
model:
|
|
completion_params: {}
|
|
mode: chat
|
|
name: gpt-5-mini
|
|
provider: langgenius/openai/openai
|
|
prompt_template:
|
|
- id: 6c41b62b-abf0-44df-9daa-bdcecce7a7eb
|
|
role: system
|
|
text: 'Begin je antwoord met de regel OUDERAPP en daarna een lege regel.
|
|
|
|
|
|
Je schrijft voor Het Voorbeeldcollege, een school voor voortgezet onderwijs.
|
|
Schrijf een bericht voor de ouderapp van maximaal 80 woorden: ouders lezen
|
|
dit op hun telefoon. Eén boodschap, één datum, één actie; geen inleiding
|
|
en geen kop. Spreek ouders aan met u. Houd je strikt aan de schrijfwijzer
|
|
hieronder. Pas de toon aan die is gekozen. Verzin geen feiten. Ontbreekt
|
|
iets, schrijf dan [INVULLEN].
|
|
|
|
|
|
Schrijfwijzer: {{#context#}}
|
|
|
|
|
|
Afdeling: {{#1789912805545.afdeling#}}
|
|
|
|
Toon: {{#1789912805545.toon#}}
|
|
|
|
Kernboodschap: {{#1789912805545.kernboodschap#}}'
|
|
selected: false
|
|
title: Ouderapp
|
|
type: llm
|
|
vision:
|
|
enabled: false
|
|
height: 87
|
|
id: '1789913447671'
|
|
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:
|
|
- '1789913220684'
|
|
- result
|
|
model:
|
|
completion_params: {}
|
|
mode: chat
|
|
name: gpt-5-mini
|
|
provider: langgenius/openai/openai
|
|
prompt_template:
|
|
- id: 9cabb98b-c62a-4ab2-b7b7-1f1f43556a13
|
|
role: system
|
|
text: 'Begin je antwoord met de regel SOCIAL en daarna een lege regel.
|
|
|
|
|
|
Je schrijft voor Het Voorbeeldcollege, een school voor voortgezet onderwijs.
|
|
Schrijf een bericht voor de sociale media van de school (Instagram en
|
|
LinkedIn) van maximaal 60 woorden. Warm en concreet, geen jubeltaal. Sluit
|
|
af met maximaal drie hashtags, waarvan altijd #Voorbeeldcollege. Geen
|
|
namen van leerlingen en geen verwijzing naar herkenbare foto''s van leerlingen.
|
|
Houd je aan de schrijfwijzer hieronder. Pas de toon aan die is gekozen.
|
|
Verzin geen feiten. Ontbreekt iets, schrijf dan [INVULLEN].
|
|
|
|
|
|
Schrijfwijzer: {{#context#}}
|
|
|
|
|
|
Afdeling: {{#1789912805545.afdeling#}}
|
|
|
|
Toon: {{#1789912805545.toon#}}
|
|
|
|
Kernboodschap: {{#1789912805545.kernboodschap#}}'
|
|
selected: false
|
|
title: Social
|
|
type: llm
|
|
vision:
|
|
enabled: false
|
|
height: 87
|
|
id: '1789914224310'
|
|
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:
|
|
- '1789913220684'
|
|
- result
|
|
model:
|
|
completion_params: {}
|
|
mode: chat
|
|
name: gpt-5-mini
|
|
provider: langgenius/openai/openai
|
|
prompt_template:
|
|
- id: 7eac55b9-216b-467a-bb85-252c3f21cc98
|
|
role: system
|
|
text: 'Je bent de controleur van Het Voorbeeldcollege. Hieronder staat een
|
|
conceptbericht voor de ouderapp. Beoordeel het op deze punten uit de schrijfwijzer:
|
|
maximaal 80 woorden; ouders worden aangesproken met u; één boodschap,
|
|
één datum en één actie; geen afkortingen en geen woorden uit de lijst
|
|
te vermijden woorden; geen namen van leerlingen; taalniveau B1 (korte
|
|
zinnen, gewone woorden).
|
|
|
|
|
|
Werk in twee stappen. Stap 1: noem kort wat niet klopt (of schrijf: niets).
|
|
Stap 2: geef de verbeterde versie. Verzin geen feiten; wat niet in het
|
|
concept staat, blijft [INVULLEN]. Haal geen feiten, data of tijden weg
|
|
die in het concept staan; een uiterste datum om aan te melden hoort bij
|
|
de actie en blijft staan. Verander cijfers niet in woorden.
|
|
|
|
|
|
Geef als antwoord ALLEEN de verbeterde tekst, zonder stap 1, zonder kop
|
|
en zonder uitleg. Is het concept al goed, geef het dan ongewijzigd terug.
|
|
|
|
|
|
Schrijfwijzer: {{#context#}}
|
|
|
|
|
|
Conceptbericht: {{#1789913447671.text#}}'
|
|
selected: false
|
|
title: Controleur
|
|
type: llm
|
|
vision:
|
|
enabled: false
|
|
height: 87
|
|
id: '1789921225442'
|
|
position:
|
|
x: 1590
|
|
y: 282
|
|
positionAbsolute:
|
|
x: 1590
|
|
y: 282
|
|
selected: false
|
|
sourcePosition: right
|
|
targetPosition: left
|
|
type: custom
|
|
width: 242
|
|
zIndex: 0
|
|
- data:
|
|
code: "def main(website: str, ouderapp: str, social: str) -> dict:\n redenen\
|
|
\ = []\n verboden = [\"middels\", \"omtrent\", \"z.s.m.\", \"d.m.v.\"\
|
|
, \" a.s.\", \"gelieve\", \"ouder(s)/verzorger(s)\"]\n teksten = ((\"\
|
|
website\", website, 230), (\"ouderapp\", ouderapp, 90), (\"social\", social,\
|
|
\ 70))\n for naam, tekst, maximum in teksten:\n aantal = len(tekst.split())\n\
|
|
\ if aantal > maximum:\n redenen.append(f\"{naam}: {aantal}\
|
|
\ woorden, maximaal {maximum}\")\n if \"[INVULLEN]\" in tekst:\n\
|
|
\ redenen.append(f\"{naam}: bevat [INVULLEN], er ontbreekt informatie\"\
|
|
)\n for woord in verboden:\n if woord in tekst.lower():\n\
|
|
\ redenen.append(f\"{naam}: bevat het te vermijden woord\
|
|
\ '{woord.strip()}'\")\n if \"#voorbeeldcollege\" not in social.lower():\n\
|
|
\ redenen.append(\"social: #Voorbeeldcollege ontbreekt\")\n return\
|
|
\ {\n \"ok\": 0 if redenen else 1,\n \"redenen\": \"\\n\"\
|
|
.join(redenen) if redenen else \"Alle regels in orde.\",\n }\n"
|
|
code_language: python3
|
|
outputs:
|
|
ok:
|
|
children: null
|
|
type: number
|
|
redenen:
|
|
children: null
|
|
type: string
|
|
selected: false
|
|
title: Poortwachter
|
|
type: code
|
|
variables:
|
|
- value_selector:
|
|
- '1789913283624'
|
|
- text
|
|
value_type: string
|
|
variable: website
|
|
- value_selector:
|
|
- '1789921225442'
|
|
- text
|
|
value_type: string
|
|
variable: ouderapp
|
|
- value_selector:
|
|
- '1789914224310'
|
|
- text
|
|
value_type: string
|
|
variable: social
|
|
height: 51
|
|
id: '1789921317767'
|
|
position:
|
|
x: 1892
|
|
y: 282
|
|
positionAbsolute:
|
|
x: 1892
|
|
y: 282
|
|
selected: false
|
|
sourcePosition: right
|
|
targetPosition: left
|
|
type: custom
|
|
width: 242
|
|
zIndex: 0
|
|
- data:
|
|
cases:
|
|
- case_id: 'true'
|
|
conditions:
|
|
- comparison_operator: '='
|
|
id: 82d4d0c5-8725-45db-abd5-ec4977e37d2f
|
|
value: '1'
|
|
varType: number
|
|
variable_selector:
|
|
- '1789921317767'
|
|
- ok
|
|
logical_operator: and
|
|
selected: false
|
|
title: IF/ELSE
|
|
type: if-else
|
|
height: 123
|
|
id: '1789921457891'
|
|
position:
|
|
x: 2194
|
|
y: 282
|
|
positionAbsolute:
|
|
x: 2194
|
|
y: 282
|
|
selected: false
|
|
sourcePosition: right
|
|
targetPosition: left
|
|
type: custom
|
|
width: 242
|
|
zIndex: 0
|
|
- data:
|
|
outputs:
|
|
- value_selector:
|
|
- '1789913283624'
|
|
- text
|
|
value_type: string
|
|
variable: website
|
|
- value_selector:
|
|
- '1789921225442'
|
|
- text
|
|
value_type: string
|
|
variable: ouderapp
|
|
- value_selector:
|
|
- '1789914224310'
|
|
- text
|
|
value_type: string
|
|
variable: social
|
|
selected: false
|
|
title: Goedgekeurd
|
|
type: end
|
|
height: 140
|
|
id: '1789921490100'
|
|
position:
|
|
x: 2496
|
|
y: 282
|
|
positionAbsolute:
|
|
x: 2496
|
|
y: 282
|
|
selected: false
|
|
sourcePosition: right
|
|
targetPosition: left
|
|
type: custom
|
|
width: 242
|
|
zIndex: 0
|
|
- data:
|
|
outputs:
|
|
- value_selector:
|
|
- '1789921317767'
|
|
- redenen
|
|
value_type: string
|
|
variable: afgekeurd_omdat
|
|
- value_selector:
|
|
- '1789913283624'
|
|
- text
|
|
value_type: string
|
|
variable: concept_website
|
|
- value_selector:
|
|
- '1789921225442'
|
|
- text
|
|
value_type: string
|
|
variable: concept_ouderapp
|
|
- value_selector:
|
|
- '1789914224310'
|
|
- text
|
|
value_type: string
|
|
variable: concept_social
|
|
selected: false
|
|
title: Naar de communicatiemedewerker
|
|
type: end
|
|
height: 166
|
|
id: '1789921594492'
|
|
position:
|
|
x: 2496
|
|
y: 461
|
|
positionAbsolute:
|
|
x: 2496
|
|
y: 461
|
|
selected: false
|
|
sourcePosition: right
|
|
targetPosition: left
|
|
type: custom
|
|
width: 242
|
|
zIndex: 0
|
|
viewport:
|
|
x: -1050.7133416209424
|
|
y: 53.85916780978505
|
|
zoom: 0.558163294467307
|
|
rag_pipeline_variables: []
|