🔰
【コピペOK】Dify『コード実行』ノード|ChatGPT/Geminiで失敗しないコード生成方法
この記事で解決できること
- ChatGPT や Gemini でコードを作ったけど、Dify で動かない😭
- 「なんか知らないけどエラーが出る」を解決したい
- Python よくわからないけど、Dify でコードを使いたい
結論:専用の「魔法の呪文」をコピペして使えば、初心者でも確実に動くコードが作れます!
なぜ普通に頼むと失敗するの?
❌ よくある失敗パターン
ChatGPT に「文字数を数えるコードを書いて」と頼むと、こんなコードが返ってきます:
text = input("文字を入力してください: ")
print(f"文字数は {len(text)} です")
これは Dify では動きません!
🤔 なぜ動かないの?
Dify の「コード実行」ノードには特別なルールがあるからです:
-
入力の受け取り方が特殊 →
input()
は使えない -
結果の返し方が特殊 →
print()
じゃダメ - 決まった形式でコードを書く必要がある
普通の Python と Dify 用 Python は別物だと思ってください!
Dify で動くコードの「お約束」
✅ 守るべき3つのルール
- 関数は
def main(**kwargs):
で始める - 入力は
kwargs.get('名前', '')
で受け取る - 結果は
return {'result': 答え}
で返す
🎯 基本の形(これをベースにする)
def main(**kwargs) -> dict:
try:
# 1. 入力を受け取る
text = kwargs.get('text', '')
# 2. 何かの処理をする
result = len(text) # 文字数を数える
# 3. 結果を返す
return {'result': result, 'ok': True, 'error': ''}
except:
# エラーが起きても止まらないようにする
return {'result': 0, 'ok': False, 'error': 'エラーが発生しました'}
難しく考えなくて OK!この形をコピペして、真ん中の処理だけ変えればいいんです。
🪄 コピペ用指示プロンプト
以下のプロンプトをコピーしてGeminiやChatGPTで自分がコードでつくりたいアイデアと一緒にメッセージを投げてみてください!
Pythonコードを生成する際は、以下のDifyコードノードの基本構造を必ず守ってください。
# 必要なライブラリをインポート
import json
import re
# Difyが呼び出すメイン関数
def main(**kwargs) -> dict:
"""
処理の概要を記述
"""
# 1. 入力変数をkwargsから安全に取得
# 例:
# user_input = kwargs.get('user_input', '')
# 2. メインの処理
# 3. 辞書形式で結果を返す(キーが出力変数名になる)
return {
'output_name': 'result_value'
}
入力変数は、kwargs という辞書から .get() メソッドを使って安全に取得してください。
使用した入力変数名や出力変数名と型(StringやObject, Arrayなど)もユーザー向けに書き出してください。
1.コード実行ノードを追加
- 「+」ボタンから「コード実行」を選択
- 入力変数は提示された入力変数名を追加
- 生成されたコードをコピペ
- 出力変数は提示された出力変数名と型を追加
2.テスト実行
- 右上の「実行」ボタンをクリック
- テキストボックスに何か入力
- 結果が表示されれば成功!
😅 よくある失敗と解決法
問題1:「保存できません」エラー
原因: コードの形が間違っている
解決: プロンプトをもう一度使って、正しい形のコードを生成する
問題2:「実行エラー」が出る
原因: 入力の名前が違う
解決: 開始ノードの変数名と、コードの kwargs.get('ここ', '')
を同じにする
問題3:結果が表示されない
原因: 出力変数の設定忘れ
解決: コード実行ノードの「出力変数」の名前や型(StringやObject)をチェックする
🎉 応用例:こんなことができる
簡単な例
- 文字数を数える
- 大文字・小文字変換
- 文字を逆順にする
- 特定の文字を置き換える
ちょっと高度な例
- JSON データを整理する
- 日付の形式を変換する
- 簡単な計算をする
- テキストから特定の情報を抜き出す
全部、上のプロンプトを使えば作れます!
まとめ
- 普通の Python と Dify 用 Python は別物
- 決まった形(テンプレート)がある
- プロンプトをコピペして生成すれば確実
- 入力名と出力名を合わせることが重要
Python がわからなくても大丈夫!プロンプトをコピペして使えば、誰でも Dify で動くコードが作れます。
ここまでお読みいただきありがとうございます😊お役に立てば嬉しいです!✨
Discussion