本記事では、Dify独自の長編ジェネレータワークフロー、特にイテレーションノードとコードノードの柔軟な組み合わせにより、Difyワークフローを虎の威を借るようなワークフローにするための実践方法を簡単に紹介します。ワークフローの実行が終了すると、ワークフロー実行中の各ノードのログ -> トレースが表示され、詳細な確認やデバッグを行うことができます。
I.始まり(スタートノード)
開始ノードは比較的単純で、記事のタイトルと概要を入力することに重点を置いている。詳細な入力と出力は以下の通りである:
1.入力
{
"article_title": "荘子の5つの心啓発物語が私の精神的疲労を癒した"、
"article_outline": "記事の概要:評価、損得、ジレンマ、選択、マインドフルネスに関する5つの物語"、
"sys.query": "ストーリー生成"、
"sys.files": []、
"sys.conversation_id": "5e874989-ea79-4de0-b6bb-2cca6a8ef6fc",
"sys.user_id": "4bc1624f-773d-4a39-a0c6-52008a13320e"
}
2.出力
{
"article_title": "荘子の5つの心啓発物語が私の精神的疲労を癒した"、
"article_outline": "記事の概要:評価、損得、ジレンマ、選択、マインドフルネスに関する5つの物語"、
"sys.query": "ストーリー生成"、
"sys.files": []、
"sys.conversation_id": "5e874989-ea79-4de0-b6bb-2cca6a8ef6fc",
"sys.user_id": "4bc1624f-773d-4a39-a0c6-52008a13320e"
}
II.小見出しとアウトライン(LLMノード)の生成
このノードの機能は、section(第一レベルの見出しとして理解できる)を、article_title(記事のタイトル)とarticle_outline(記事の概要)に基づいて、bullet(第二レベルの見出しとして理解できる)に展開することである。焦点を当てるのは、出だしの単語を正しく理解することと、サンプルを与えることである(一発学習)。キューワードを含むセクションは通常、微調整が必要です。ノードセクションの設定情報を以下に示す:
1.データ処理
{
"model_mode": "chat"、
"プロンプト": [
{
"role": "system", "text":"n1.
「text":"n1. 与えられた記事のタイトルと概要に基づいて長い記事を書きなさい。記事のタイトルとして article_title を使用します。\提供されたarticle_outlineに従って記事を構成する。アウトラインの各セクションは、記事のセクションに対応している必要があります。\記事が有益で、各セクションに詳細な情報、説明、例、その他関連する内容が含まれ、トピックを完全にカバーしていることを確認してください。\一貫性を保つために、セクション間の移行が自然であることを確認する。\出力にはXMLタグを含めないでください。以下のキーと値のJSON配列のみを提供してください:⒉"section"(記事のセクションのタイトル)、⒉"bullets"(記事の各セクションの要約)。\article_outline>序論 2.海面上昇 3.暴風雨の頻度の増加 4.結論outline>nnn [㊟Introduction: 気候変動が沿岸都市に与える影響の概要 2.これらの影響を理解することの重要性「海面上昇の原因 2.沿岸のインフラとコミュニティへの影響 3.影響を受ける都市の例 4.気候変動と暴風雨の頻度の関係 5.より頻繁で深刻な暴風雨が沿岸地帯に及ぼす影響 6.最近の暴風雨が沿岸地帯に及ぼす影響 7.最近の暴風雨が沿岸地帯に及ぼす影響 8.最近の暴風雨が沿岸地帯に及ぼす影響 10.Impacts of more frequent and severe storms on coastal areas 3. Case studies of recent storms.</in Chuang Tzu's Five Mind-Enlightening Stories Cured My Spiritual Exhaustion </in Article_outline> 評価、利益と損失、ジレンマ、選択、マインドフルネスに関する5つのストーリー n"、
「files": []
}
]
}
2.出力
出力は基本的に、小見出し(セクション|第一レベルの見出しとして理解可能)とアウトライン(箇条書き|第二レベルの見出しとして理解可能)、つまりテキストフィールドのコンテンツを生成するための大きなモデルである。
\ "テキスト": "[section]:「評価について」。
「text": "[評価について] 1.背景:荘子とその弟子たち 2.評価の相対性:異なる視点での価値判断 3.啓示:他人の評価をどのように見て、心の平和を維持するか" },[評価について] 1.背景:荘子とその弟子たち 2.評価の相対性:異なる視点での価値判断 3.啓示:他人の評価をどのように見て、心の平和を維持するか" },[評価について] 1.背景:荘子とその弟子たち 2.評価の相対性:異なる視点での価値判断 3.啓示:他人の評価をどのように見て、心の平和を維持するか" },[評価について] 1.ストーリー:荘子のジレンマ 2.ジレンマがもたらす成長と反省 3.啓示:困難に直面した時の心の整え方と解決法 4.ストーリー:荘子のジレンマ 2.決断の過程での知恵と勇気 5.啓示:人生の選択をする時。自分の心の声を聞き、勇気をもって前に進みましょう。
「usage": {
「prompt_tokens": 515, "prompt_unit_price": {。
「prompt_unit_price": "0.15"、
"prompt_price_unit": "0.000001",
「prompt_price": "0.0000773", "completion_tokens".
「completion_price」:「0.0002088」、「total_tokens」。
「通貨": "USD", "レイテンシー": 4.52
「レイテンシー": 4.521080200036522
}
}
III.小見出しとアウトライン(コードノード)の抽出
このノードはコード・ノードである。パイソン
字幕とアウトラインを抽出するコードは次の通りです。配列[オブジェクト]
タイプ
def main(arg1: str) -> dict.
インポート json
data = json.loads(arg1)
# オブジェクトの配列を作る
result = [{'section': item["section"], 'bullets': item["bullets"]} for item in data].
return { 'result': result
'result': result
}
1.入力
\ "arg1":"arg2":"arg3":"arg4
Gain and Loss", ∕ストーリー:荘子と漁師との対話 ②損得の概念の変化:物質的な追求から精神的な追求へ ③啓示:今を大切にし、執着を手放すことを学ぶ ∕Dilemmas", ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考え ∕ストーリー:ジレンマでの荘子の考えストーリー:荘子のジレンマ 2.ジレンマがもたらす成長と反省 3.啓示:困難に直面した時の心の整え方と解決法 4.ストーリー:荘子のジレンマ 2.決断の過程での知恵と勇気 5.啓示:人生の選択をする時。自分の心の声を聞いて、勇気をもって前に進みましょう。
}
2.出力
{
"result": [
{
"section": "評価について".
"箇条書き": "1.背景:荘子とその弟子たち 2.評価の相対性:異なる視点での価値判断 3.啓示:他人の評価を見て心の平安を保つ方法"
}
{
"section": "得失", "bullet": "1.
"箇条書き": "1.物語の内容:荘子と漁師の対話 2.損得の概念の変化:物質的な追求から精神的な追求へ 3.啓示:今この瞬間を大切にし、執着を手放すことを学ぶ"
}, {
{
"section": "ジレンマ", "bullet": "1.
"箇条書き": "1.ストーリー:ジレンマの中での荘子の考え 2.ジレンマによってもたらされた成長と反省 3.啓示:困難に直面したとき、どのように考え方を調整し、解決策を見出すか。"
},.
{
"section": "Choices", "bullets": "1.
"箇条書き": "1.ストーリーの説明:荘子のジレンマ 2.決断のプロセスにおける知恵と勇気 3.啓示:人生の選択をするとき、心の声に耳を傾け、勇気を持って前進すること" { "セクション": "選択", "1.
},.
{
"セクション": "マインドセット".
"箇条書き": "1.物語の概要:荘子のマインドフルネスの哲学2.ポジティブな考え方の重要性とその影響3.啓示:人生の困難に対処し、幸福感を高めるために、ポジティブな考え方を養う" { "セクション": "マインドセット".
}
]
}
IV.反復(反復ノード+LLMノード)
反復ノードはループとして理解することができ、ループの内容は反復ノード内の操作である。
ポイントはやはり、論文のタイトルを伝える良いプロンプトと、LLMがセクションを書くための完全なアウトラインを書くことだ。
第1レベルの見出しが5つあるので、対応するセクションの内容を生成するには5回の反復が必要である。
1.入力
ここでは、反復ノード全体、つまり字幕とアウトラインの入力を示す:
{
「イテレータセレクタ": [
{
"section": "評価について".
"箇条書き": "1.物語の背景:荘子とその弟子たち 2.評価の相対性:異なる視点での価値判断 3.啓示:他人の評価を見て心の平安を保つ方法"
}
{
"section": "損得", "bullet": "1.
"箇条書き": "1.物語の内容:荘子と漁師の対話 2.損得の概念の変化:物質的な追求から精神的な追求へ 3.啓示:今この瞬間を大切にし、執着を手放すことを学ぶ"
}, {
{
"section": "ジレンマ", "bullet": "1.
"箇条書き": "1.ストーリー:ジレンマの中での荘子の考え 2.ジレンマによってもたらされた成長と反省 3.啓示:困難に直面したとき、どのように考え方を調整し、解決策を見出すか。"
},.
{
"section": "Choices", "bullets": "1.
"箇条書き": "1.ストーリーの説明:荘子のジレンマ 2.決断のプロセスにおける知恵と勇気 3.啓示:人生の選択をするとき、心の声に耳を傾け、勇気を持って前進すること" { "セクション": "選択", "箇条書き": "1.
},.
{
"セクション": "マインドセット".
"箇条書き": "1.物語の概要:荘子のマインドフルネスの哲学2.ポジティブな考え方の重要性とその影響3.啓示:人生の困難に対処し、幸福感を高めるために、ポジティブな考え方を養う" { "セクション": "マインドセット".
}
]
}
2.出力
以下は、サブタイトルとアウトラインに基づいて適切な章コンテンツを生成する、反復ノード全体の出力です。
{
"output": [
"評価について 荘子の哲学世界では、評価とは物事を判断するだけでなく、相対的な存在でもある。荘子と弟子とのエピソードから、そのことがよくわかる。何気ない会話の中で、弟子が荘子に "先生、人の価値はどのように判断されると思いますか?"とアドバイスを求めた。蝶のように、美しいと思う人もいれば、平凡だと思う人もいる。人はそれぞれ違った見方をしていて、おのずと結論も違ってくる」。\評価は相対的なものである。他人の認識も自己の認識も、個人的な経験や文化的背景、感情的な状態など複数の要因に影響される。従って、外部からの評価に直面したとき、その声は必ずしも本当の自分を反映しているわけではなく、他者の視点からの解釈に過ぎないことに気づくべきである。\さらに、この相対性が、他人の評価をどう見るかを考えるきっかけになる。荘子はかつて、"Tao is where the Tao exists, the heart is at peace. "と言った。この格言は、複雑な社会で心の平和を保つことが特に重要であることを思い出させてくれる。批判や賞賛に遭遇したとき、私たちは立ち止まって考えることがある。それとも、他人の感情の投影にすぎないのか。そう考えることで、自分自身をよりよく理解することができ、外界に振り回されなくなる。\このように、荘子の智慧からは、人生において、どんな評価を受けても、内なる平静と不動心を保たなければならないという啓示を得ることができる。そうすることでしか、他人の声に惑わされることなく、波乱万丈の人生の旅路の中で自らの方向性を見出すことはできない。そうすることで、私たちは精神的に成長できるだけでなく、複雑な人間関係の中でもうまく立ち回り、本物の充実した人生を送ることができるのです」。,
「Zhuangzi Zhuangziの哲学の世界では、損得の考え方がしばしば見直され、分解される。有名な話に荘子と漁師の対話があるが、この対話は物質と精神の深い関係を明らかにするだけでなく、損得の見方についても重要な示唆を与えてくれる。\ある静かな朝、荘子が川沿いを散歩していると、偶然、魚を獲っている漁師に出会う。漁師は微笑みながらのんびりと網を水中に投げ入れており、魚を獲ることを急いでいないように見えた。彼は荘子に、単純明快な言葉でこう言った。それ以上は求めない。\この漁師が持っているのは、手に持っている魚だけでなく、物質的なものを超越した心の状態でもある。彼は、真の豊かさは外界の蓄積から来るのではなく、現在の生活の状態を内面的に大切にし、満足させることから来ることを理解している。この冷静さと無関心、満足と幸福の態度が、平凡な中に幸福を見出すことを可能にしている。\対話が深まるにつれて、荘子は漁師にある質問を投げかける。漁師は首を振って答えた。今あるものを失うだけだから、むしろ平和を楽しみたい」。荘子はこの言葉に深く心を打たれ、現代社会では人々はしばしば物質的な欲望に駆られ、精神的な次元を追求することがおろそかになっていることに気づいた。\この交流を通じて、荘子の損得概念も変容した。成功や富をひたすら追い求めていた自分を反省し、人生で最も大切なことは、今この瞬間を大切にし、執着を捨てることであることに次第に気づいていった。外部環境がいかに変化しようとも、私たちは内なる平和と充足感を保つべきなのだ。漁師が示した知恵のように、本当に追い求める価値があるのは、深い心の平和と安らぎなのだ。\この物語が私たちに与えてくれるインスピレーションは、広範囲にわたって持続する。ペースの速い、ストレスの多い現代生活では、物質的な利益をひたすら追い求めるあまり、道に迷うことが多い。しかし、漁師のシンプルで純粋な人生に対する姿勢に学ぶことで、私たちは目の前のものを大切にすることを学び、精神的な負担を軽減し、自己治癒力を高めることができる。一瞬一瞬に喜びを見出し、人生に意味を満たすことこそ、人生における真の知恵なのだ。",
「荘子の人生の中で、大きなジレンマに直面したときがあった。それは嵐の夜、荘子が一人で山の頂上に座り、風の音と雨粒が岩を叩く音だけが聞こえる静寂に包まれた時だった。哲学者として、彼はしばしば人生の意味を考えてきたが、今は現実の重圧に悩まされていた。友人たちからの期待、社会からの評価、そして理想的な人生を追い求める自分自身のすべてが、彼に重くのしかかっていた。\そのような苦境の中で、荘子は自分自身の状況を振り返り始めた。荘子は、このような外的要因がプレッシャーになる一方で、自分の心が本当に望んでいるものは何かを深く考えるように促されていることに気づいた。かつて弟子たちに教えた「道は一を生み、一は二を生み、二は三を生み、三は万物を生む」という言葉を思い出した。この言葉は、どんなに複雑な問題でも、実は単純な選択と理解に還元できることを彼に思い出させた。だから彼はもう悩まないで、この嵐から抜け出す方法を見つけようと決めた。\荘子は深く内省し、熟考することで、この苦境が絶望的な状況ではなく、成長のチャンスであることに次第に気づくようになった。荘子は自分の考え方を整え、外界から内界に目を向けるようにした。困難に直面したときは、問題そのものに焦点を当てるだけでなく、解決策を探すべきだと彼は理解した。海の荒波と同じで、穏やかな時が必ず来る。\この過程で、荘子は自分の価値観を見直すことができただけでなく、内なる平和の重要性を追求する決意を固めた。この精神的な洗礼の後、彼はようやく苦境に対処する方法を見つけた。冷静さを保ち、前向きに立ち向かい、どんな困難もより高い知恵への一歩だと信じることだ。\この話は、私たちが困難な状況に置かれたとき、荘子のように内省し、内面から調整したほうがよいことを教えてくれる。困難に直面したとき、私たちはこだわりを捨て、オープンマインドで解決策を探ることを選ぶことができる。そうすることで、その瞬間のもやもやから抜け出せるだけでなく、これからの人生の旅路において、より強い内なる力を得ることができる。",
「荘子の哲学の世界では、選択はしばしば考えさせられるテーマである。ある晴れた日の朝、荘子と弟子たちが山道を散歩し、平和で美しい自然を楽しんでいた。突然、二人は澄んだ水の流れる川に出くわした。川の両岸には道があり、一方は賑やかな市場へ、もう一方は人里離れた山林へと続いていた。弟子はジレンマに直面した。バザールに行って物質的な富と名声を追い求めるか、山や森に入って内なる平和と自己修養を追い求めるか。この選択に直面したとき、彼は混乱に圧倒され、どのように決断すればよいのかわからなくなる。\荘子は弟子の迷いを見て、彼の考えを導き始めた。人生はこの川のようなもので、時には選択を迫られることもある。荘子はさらに、物質的なものと精神的なもののどちらを追求するにも、絶対的な善悪はないと主張し、自らの知恵を披露した。重要なのは、自分の本当の内なる声に耳を傾け、勇気を持って一歩を踏み出せるかどうかだ」。\弟子は悩んだ末に、自分が本当に望んでいるのは内なる平和であり、外の世界の喧騒ではないことに気づく。彼はバザールへの旅の誘惑をあきらめ、代わりに人里離れた山林に向かうことにした。そこで彼は、自然がもたらす安らぎと静けさを感じ、自分自身を見つめ直し、成長する機会を見つけた。\この物語の教訓は、人生の選択をするとき、私たちはしばしばさまざまな誘惑や圧力に直面するということだ。しかし、本当に大切なのは、外の世界に振り回されず、自分の心の声に耳を傾けること。充実感や幸福感を感じられる人生の方向性を勇敢に追求することこそ、私たちが実践しようと努めるべき人生哲学なのだ。\荘子の知恵を通して、すべての選択は自分探しの旅であり、自分の信念を固め、勇気をもって前に進めば、自分の道を見つけることができると理解する。この勇気は、目の前の苦境を乗り越える助けとなるだけでなく、精神的な疲れを癒し、人生に新たな輝きを与えてくれる。",
「荘子のマインドフルネスの哲学は、彼の思想体系の不可欠な部分であり、彼は生き生きとした物語を通して人生に対する深い理解を伝えている。荘子がマインドフルネスを重視したことは、彼の著作にしばしば見られる。彼は、心の状態が人の感情や経験に影響を与えるだけでなく、人生における様々な困難にどう立ち向かうかを大きく左右すると考えていた。\荘子の「心」の思想 孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙孙弟子たちはその小鳥の自由で幸せそうな様子に感嘆したが、荘子は微笑んで言った。「この小鳥は明日のことを心配したり、過去を悔やんだりせず、ただ今を生きて、今を楽しんでいるのだと考えたことがあるか」。この単純な話から、弟子たちは、真の幸福は自由奔放で、流れに身を任せる精神から生まれることを悟った。荘子の知恵は、未来への不安や過去への執着を捨て、冷静でオープンな心で人生と向き合うことを教えているところにある。\肯定的な考え方の重要性とその影響 ⑷肯定的な考え方の重要性は、さまざまな形で反映されている。まず、ストレスや困難にうまく対処できるようになります。問題を前向きにとらえると、解決策が思ったより簡単に見つかることが多い。第二に、ポジティブな考え方は幸福感や充実感を高めてくれる。研究によると、ポジティブな考え方をする人は通常、自分の人生を良く感じている可能性が高く、良い人間関係を築くのに効果的だという。さらに、ポジティブな考え方は伝染力もあり、周囲の人たちにも環境全体をより良くするために協力しようという意欲を抱かせることができます。\荘子の話から、ポジティブな考え方を養うことは、人生の困難に対処するための重要な戦略であるという啓示を得ることができる。日常生活でポジティブ思考を高める簡単な方法がいくつかある。例えば、毎日数分間、家族の団らん、友人の支え、仕事の成果など、私たちが持っている良いものを振り返ることは価値がある。同時に、困難に直面したときは、問題を障害ではなく、成長の機会ととらえるようにする。そうすることで、心理的負担が軽減されるだけでなく、逆境に直面しても前進する意欲を見出すことができる。\結論として、荘子のマインドフルネスの哲学を学ぶことで、人生の嵐にもっと楽に立ち向かうために、自分の内面をどのように調整すればよいかを深く理解することができ、それによって全体的な幸福感を高めることができる。その過程で、楽観的でオープンで寛容な考え方を培い、人生の花を咲かせることができるよう、共に努力しよう。"
]
}
V.コード(コードノード)
入力はリストで、出力はリストの要素を"˶n "でつないだもの:
def main(articleSections: list): data = articleSections: list
data = articleSections
return {
"result": "♪n".join(data)
}
VI.回答(直接回答ノード)
コードの出力が答えの入力になる。
書誌
[1] 反復ノード:https://docs.dify.ai/v/zh-hans/guides/workflow/node/iteration