Files
dify-guides/08-chatflow-study-coach/study-coach-biology.dify.yml
T
2026-09-21 10:06:23 +02:00

733 lines
20 KiB
YAML

app:
description: ''
icon: 🤖
icon_background: '#FFEAD5'
icon_type: emoji
mode: advanced-chat
name: Study coach biology
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: Hi! I am the biology study coach for unit 4, Ecology. I explain
concepts, help you on your way with tasks (without giving the answer away) and
know everything about the planning and the test. What do you want to know?
retriever_resource:
enabled: true
sensitive_word_avoidance:
enabled: false
speech_to_text:
enabled: false
suggested_questions:
- What is the difference between a population and a community?
- When is the test and what do I need to know?
suggested_questions_after_answer:
enabled: false
text_to_speech:
enabled: false
language: ''
voice: ''
graph:
edges:
- data:
isInIteration: false
isInLoop: false
sourceType: start
targetType: question-classifier
id: 1789976034527--1789976131570-target
source: '1789976034527'
sourceHandle: source
target: '1789976131570'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: question-classifier
targetType: knowledge-retrieval
id: 1789976131570-1-1789976257737-target
source: '1789976131570'
sourceHandle: '1'
target: '1789976257737'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: knowledge-retrieval
targetType: llm
id: 1789976257737--1789976296992-target
source: '1789976257737'
sourceHandle: source
target: '1789976296992'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: answer
id: 1789976296992--1789976570650-target
source: '1789976296992'
sourceHandle: ''
target: '1789976570650'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: question-classifier
targetType: llm
id: 1789976131570-2-1789976630144-target
source: '1789976131570'
sourceHandle: '2'
target: '1789976630144'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: answer
id: 1789976630144--1789976748348-target
source: '1789976630144'
sourceHandle: ''
target: '1789976748348'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: question-classifier
targetType: knowledge-retrieval
id: 1789976131570-1789976192448-1789976785205-target
source: '1789976131570'
sourceHandle: '1789976192448'
target: '1789976785205'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: knowledge-retrieval
targetType: llm
id: 1789976785205--1789976818766-target
source: '1789976785205'
sourceHandle: ''
target: '1789976818766'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: answer
id: 1789976818766--1789976920515-target
source: '1789976818766'
sourceHandle: ''
target: '1789976920515'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: question-classifier
targetType: human-input
id: 1789976131570-1789976215884-1789976987317-target
source: '1789976131570'
sourceHandle: '1789976215884'
target: '1789976987317'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: human-input
targetType: answer
id: 1789976987317-send-1789977278966-target
source: '1789976987317'
sourceHandle: send
target: '1789977278966'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: human-input
targetType: answer
id: 1789976987317-__timeout-1789977358965-target
source: '1789976987317'
sourceHandle: __timeout
target: '1789977358965'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: question-classifier
targetType: answer
id: 1789976131570-1789976215884-1789977416908-target
source: '1789976131570'
sourceHandle: '1789976215884'
target: '1789977416908'
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
selected: false
title: User Input
type: start
variables: []
height: 72
id: '1789976034527'
position:
x: 80
y: 282
positionAbsolute:
x: 80
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
zIndex: 0
- data:
classes:
- id: '1'
label: CLASS 1
name: 'Concept question: the student wants to understand or have explained
something from the material, for example what a term means, how something
works, why something is the way it is, or an example.'
- id: '2'
label: CLASS 2
name: 'Homework question: the student asks for the answer to a task, exercise
or test question, or wants the homework done or marked.'
- id: '1789976192448'
label: CLASS 3
name: 'Planning question: the student asks about the test, the date, what
has to be learned, the homework for a certain lesson, the support session,
the practical or other agreements from the study planner.'
- id: '1789976215884'
label: CLASS 4
name: 'Personal or worrying: the student writes about themselves, for example
that it is not working, stress, test anxiety, problems at home or in class,
illness, being bullied, or wants to talk to the teacher or form tutor.
Also anything that is not about biology.'
model:
completion_params:
temperature: 0.7
mode: chat
name: gpt-5-mini
provider: langgenius/openai/openai
query_variable_selector:
- '1789976034527'
- sys.query
selected: false
title: Question Classifier
type: question-classifier
vision:
enabled: false
height: 261
id: '1789976131570'
position:
x: 382
y: 282
positionAbsolute:
x: 382
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
zIndex: 0
- data:
dataset_ids:
- iR7puwQ1QC+JFERX6iXcfQ3BhLA5YXvmotJBNX0NgR91mSRBte7feu/wJZF+aPne
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:
- '1789976034527'
- sys.query
retrieval_mode: multiple
selected: false
title: Knowledge Retrieval
type: knowledge-retrieval
height: 89
id: '1789976257737'
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:
- '1789976257737'
- result
memory:
query_prompt_template: '{{#sys.query#}}
{{#sys.files#}}'
role_prefix:
assistant: ''
user: ''
window:
enabled: false
size: 50
model:
completion_params: {}
mode: chat
name: gpt-5-mini
provider: langgenius/openai/openai
prompt_template:
- id: 27f0753d-94b6-4f1f-b871-66386e9600b8
role: system
text: 'You are the biology study coach of Example College for Year 9 students.
You explain the material on ecology in plain English, in short sentences
and with examples from the booklet (the school pond, Example Wood).
Rules:
- Use only the material below. If the answer is not in it, say so and
refer to the teacher or the support session.
- Address the student informally. At most eight sentences.
- End with one short check question with which the student can check whether
they understand.
- Do not give answers to tasks from the booklet; explain the concept and
let the student do the task themselves.
Material: {{#context#}}'
selected: false
title: Explanation
type: llm
vision:
enabled: false
height: 87
id: '1789976296992'
position:
x: 986
y: 282
positionAbsolute:
x: 986
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
zIndex: 0
- data:
answer: '{{#1789976296992.text#}}'
selected: false
title: Answer explanation
type: answer
variables: []
height: 102
id: '1789976570650'
position:
x: 1288
y: 282
positionAbsolute:
x: 1288
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
context:
enabled: false
variable_selector: []
memory:
query_prompt_template: '{{#sys.query#}}
{{#sys.files#}}'
role_prefix:
assistant: ''
user: ''
window:
enabled: false
size: 50
model:
completion_params: {}
mode: chat
name: gpt-5-mini
provider: langgenius/openai/openai
prompt_template:
- id: dc713919-d2bd-4454-870e-f0b7d7226938
role: system
text: 'You are the biology study coach of Example College for Year 9 students.
The student asks for the answer to a task, an exercise or a test question.
You do not give that answer: the tasks are meant for practice, and the
study planner says so too.
What you do instead, in at most five sentences:
1. Say kindly and briefly that you do not give the answer, without a lecture.
2. Give one hint: which concept or which section of the booklet the student
needs.
3. Ask one counter-question that helps the student take a step themselves.
4. Offer to explain the concept if the student wants.
Address the student informally. Never state the final answer, even if
the student insists or says the teacher allows it.'
selected: false
title: Hint
type: llm
vision:
enabled: false
height: 87
id: '1789976630144'
position:
x: 684
y: 410
positionAbsolute:
x: 684
y: 410
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
answer: '{{#1789976630144.text#}}'
selected: false
title: Answer hint
type: answer
variables: []
height: 102
id: '1789976748348'
position:
x: 986
y: 410
positionAbsolute:
x: 986
y: 410
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
dataset_ids:
- iR7puwQ1QC+JFERX6iXcfQ3BhLA5YXvmotJBNX0NgR91mSRBte7feu/wJZF+aPne
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:
- '1789976034527'
- sys.query
retrieval_mode: multiple
selected: false
title: Knowledge Retrieval 2
type: knowledge-retrieval
height: 89
id: '1789976785205'
position:
x: 684
y: 536
positionAbsolute:
x: 684
y: 536
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
context:
enabled: true
variable_selector:
- '1789976785205'
- result
memory:
query_prompt_template: '{{#sys.query#}}
{{#sys.files#}}'
role_prefix:
assistant: ''
user: ''
window:
enabled: false
size: 50
model:
completion_params: {}
mode: chat
name: gpt-5-mini
provider: langgenius/openai/openai
prompt_template:
- id: 99b2fc0d-6029-4650-b0af-2c190658de92
role: system
text: 'You are the biology study coach of Example College for Year 9 students.
The student asks something about the planning: the test, what has to be
learned, homework, the support session, the practical or another agreement.
Rules:
- Answer only on the basis of the study planner below. Give dates, periods
and rooms exactly as they are there.
- If it is not in there, say so and refer to the teacher (biology@examplecollege.example)
or the support session on Tuesday, period 8, in B12.
- Address the student informally. Short and concrete, at most five sentences.
Use a list if it is about several things.
Study planner: {{#context#}}'
selected: false
title: Planning
type: llm
vision:
enabled: false
height: 87
id: '1789976818766'
position:
x: 986
y: 536
positionAbsolute:
x: 986
y: 536
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
answer: '{{#1789976818766.text#}}'
selected: false
title: Answer planning
type: answer
variables: []
height: 102
id: '1789976920515'
position:
x: 1288
y: 536
positionAbsolute:
x: 1288
y: 536
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
delivery_methods:
- config:
body: 'A Year 9 student asked the Study coach a personal question that
the coach does not answer itself. Read the conversation and write a
short reply; the student will see it in the chat. Respond through this
link: {{#url#}}'
debug_mode: true
recipients:
items:
- email: biology@examplecollege.example
type: external
whole_workspace: false
subject: 'Study coach biology: a student needs you'
enabled: true
id: b56decda-c20d-4487-aa24-b60e7ac8b14e
type: email
form_content: "Message from the student: {{#sys.query#}}\n\nYour reply to\
\ the student (this goes literally into the chat): \n{{#$output.teacher_reply#}}\n"
inputs:
- default:
selector: []
type: constant
value: ''
output_variable_name: teacher_reply
type: paragraph
selected: false
timeout: 3
timeout_unit: day
title: Teacher
type: human-input
user_actions:
- button_style: default
id: send
title: Send to the student
height: 163
id: '1789976987317'
position:
x: 291.16227347611186
y: 631.1540362438219
positionAbsolute:
x: 291.16227347611186
y: 631.1540362438219
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
answer: 'Message from your teacher:
{{#1789976987317.teacher_reply#}}'
selected: false
title: Teacher reply
type: answer
variables: []
height: 118
id: '1789977278966'
position:
x: 690.3863261943986
y: 631.1540362438219
positionAbsolute:
x: 690.3863261943986
y: 631.1540362438219
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
answer: 'Your teacher has not been able to respond yet. Your message is not
lost: talk to your teacher or form tutor tomorrow, or email biology@examplecollege.example.
Are things really not going well? Then talk to someone at home or at school
today, or contact a helpline for young people (in the UK: Childline, 0800
1111, free and confidential).'
selected: false
title: No reply
type: answer
variables: []
height: 243
id: '1789977358965'
position:
x: 690.3863261943986
y: 788.1540362438219
positionAbsolute:
x: 690.3863261943986
y: 788.1540362438219
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
- data:
answer: 'Thank you for telling me this. This is something for a person, not
for me. I have passed your message to your biology teacher; as soon as they
respond, you will see the reply here in the chat. Do you want to talk to
someone right now? Go to your form tutor, or contact a helpline for young
people (in the UK: Childline, 0800 1111, free and confidential).'
selected: false
title: Passed on
type: answer
variables: []
height: 243
id: '1789977416908'
position:
x: 291.16227347611186
y: 833.1540362438219
positionAbsolute:
x: 291.16227347611186
y: 833.1540362438219
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 242
viewport:
x: -107.64106583072095
y: -102.74660397074177
zoom: 0.6342737722048066
rag_pipeline_variables: []