@@ -9,7 +9,7 @@ description: Function Callingエージェント戦略をゼロから構築する
99
1010以下では、現在時刻を自動的に取得するための** Function Calling** をサポートするプラグインの開発方法を説明します。
1111
12- ### 前提条件
12+ ## 前提条件
1313
1414- Difyプラグインスキャフォールディングツール
1515- Python環境(バージョン 3.12)
@@ -22,7 +22,7 @@ description: Function Callingエージェント戦略をゼロから構築する
2222
2323---
2424
25- ### 1. プラグインテンプレートの初期化
25+ ## 1. プラグインテンプレートの初期化
2626
2727以下のコマンドを実行して、エージェントプラグインの開発テンプレートを作成します:
2828
@@ -91,14 +91,14 @@ Models:
9191
9292---
9393
94- ### 2. プラグインの開発
94+ ## 2. プラグインの開発
9595
9696エージェント戦略プラグインの開発は、2つのファイルを中心に行われます:
9797
9898- **プラグイン宣言**: `strategies/basic_agent.yaml`
9999- **プラグイン実装**: `strategies/basic_agent.py`
100100
101- #### 2.1 パラメータの定義
101+ ### 2.1 パラメータの定義
102102
103103エージェントプラグインを構築するには、まず`strategies/basic_agent.yaml`で必要なパラメータを指定します。これらのパラメータは、LLMの呼び出しやツールの使用など、プラグインのコア機能を定義します。
104104
@@ -107,7 +107,7 @@ Models:
1071071. **model**: 呼び出す大規模言語モデル(例:GPT-4、GPT-4o-mini)。
1081082. **tools**: プラグインの機能を拡張するツールのリスト。
1091093. **query**: モデルに送信されるユーザー入力またはプロンプトの内容。
110- 4. **maximum_iterations**: 過度な計算を防ぐための最大反復回数 。
110+ 4. **maximum_iterations**: 過度な計算を防ぐための最大イテレーション数 。
111111
112112サンプルコード:
113113
@@ -163,7 +163,7 @@ extra:
163163 
164164</Frame>
165165
166- #### 2.2 パラメータの取得と実行
166+ ### 2.2 パラメータの取得と実行
167167
168168ユーザーがこれらの基本フィールドを入力した後、プラグインは送信されたパラメータを処理する必要があります。`strategies/basic_agent.py`で、エージェント用のパラメータクラスを定義し、ロジック内でこれらのパラメータを取得して適用します。
169169
@@ -189,7 +189,7 @@ class BasicAgentAgentStrategy(AgentStrategy):
189189 params = BasicParams(**parameters)
190190```
191191
192- ### 3. モデルの呼び出し
192+ ## 3. モデルの呼び出し
193193
194194エージェント戦略プラグインでは、**モデルの呼び出し**がワークフローの中心です。SDKの`session.model.llm.invoke()`を使用して、テキスト生成、対話などを処理し、LLMを効率的に呼び出すことができます。
195195
@@ -224,7 +224,7 @@ def invoke(
224224 
225225</Frame>
226226
227- ### 4. ツールの処理
227+ ## 4. ツールの処理
228228
229229ツールパラメータを指定した後、エージェント戦略プラグインは実際にこれらのツールを呼び出す必要があります。`session.tool.invoke()`を使用してこれらのリクエストを行います。
230230
@@ -268,7 +268,7 @@ for tool_call_id, tool_call_name, tool_call_args in tool_calls:
268268 
269269</Frame>
270270
271- ### 5. ログの作成
271+ ## 5. ログの作成
272272
273273**エージェント戦略プラグイン**で複雑なタスクを完了するには、複数のステップが必要になることがよくあります。開発者が各ステップの結果を追跡し、意思決定プロセスを分析し、戦略を最適化することは非常に重要です。SDKの`create_log_message`と`finish_log_message`を使用することで、呼び出しの前後のリアルタイムの状態をログに記録し、迅速な問題診断に役立てることができます。
274274
@@ -331,7 +331,7 @@ model_log = self.create_log_message(
331331yield model_log
332332```
333333
334- #### エージェントプラグイン機能のサンプルコード
334+ ### エージェントプラグイン機能のサンプルコード
335335
336336<Tabs>
337337 <Tab title="モデルの呼び出し">
@@ -1045,7 +1045,7 @@ class BasicAgentAgentStrategy(AgentStrategy):
10451045 </Tab>
10461046</Tabs>
10471047
1048- ### 6. プラグインのデバッグ
1048+ ## 6. プラグインのデバッグ
10491049
10501050プラグインの宣言ファイルと実装コードを完成させた後、プラグインディレクトリで`python -m main`を実行して再起動します。次に、プラグインが正しく動作することを確認します。Difyはリモートデバッグを提供しています。**プラグイン管理**に移動して、デバッグキーとリモートサーバーアドレスを取得してください。
10511051
@@ -1073,7 +1073,7 @@ python -m main
10731073 
10741074</Frame>
10751075
1076- ### プラグインのパッケージング(オプション)
1076+ ## プラグインのパッケージング(オプション)
10771077
10781078すべてが正常に動作したら、以下を実行してプラグインをパッケージングできます:
10791079
@@ -1087,15 +1087,15 @@ dify plugin package ./basic_agent/
10871087
10881088**おめでとうございます!** エージェント戦略プラグインの開発、テスト、パッケージングが完了しました。
10891089
1090- ### プラグインの公開(オプション)
1090+ ## プラグインの公開(オプション)
10911091
10921092[Difyプラグインリポジトリ](https://github.com/langgenius/dify-plugins)にアップロードできます。その前に、[プラグイン公開ガイドライン](/ja/develop-plugin/publishing/marketplace-listing/release-to-dify-marketplace)を満たしていることを確認してください。承認されると、コードがメインブランチにマージされ、プラグインは自動的に[Dify Marketplace](https://marketplace.dify.ai/)で公開されます。
10931093
10941094---
10951095
1096- ### さらなる探求
1096+ ## さらなる探求
10971097
1098- 複雑なタスクには、複数ラウンドの思考とツール呼び出しが必要になることが多く、通常は**モデル呼び出し → ツール使用**をタスクが終了するか最大反復回数に達するまで繰り返します 。このプロセスでは、プロンプトを効果的に管理することが重要です。[完全なFunction Calling実装](https://github.com/langgenius/dify-official-plugins/blob/main/agent-strategies/cot_agent/strategies/function_calling.py)を参照して、モデルが外部ツールを呼び出し、その出力を処理するための標準化されたアプローチを確認してください。
1098+ 複雑なタスクには、複数ラウンドの思考とツール呼び出しが必要になることが多く、通常は**モデル呼び出し → ツール使用**をタスクが終了するか最大イテレーション数に達するまで繰り返します 。このプロセスでは、プロンプトを効果的に管理することが重要です。[完全なFunction Calling実装](https://github.com/langgenius/dify-official-plugins/blob/main/agent-strategies/cot_agent/strategies/function_calling.py)を参照して、モデルが外部ツールを呼び出し、その出力を処理するための標準化されたアプローチを確認してください。
10991099
11001100{/*
11011101Contributing Section
0 commit comments