モデル
このドキュメントでは、プラグインがDifyプラットフォーム内のモデルサービスをリバースコールする方法について詳しく説明します。内容は、LLM、Summary、TextEmbedding、Rerank、TTS、Speech2Text、Moderationなどのモデルをリバースコールする具体的な方法を含み、各モデルの呼び出しには、対応するエントリポイント、インターフェースパラメータの説明、および実際の使用例コードが付随しており、モデル呼び出しのベストプラクティスも提供しています。
リバースコールモデルとは、プラグインがDify内のLLM(TTS、Rerankなど、プラットフォーム内のすべてのモデルタイプと機能を含む)をリバースコールする能力を指します。リバースコールの基本概念にまだ慣れていない場合は、まずDifyサービスのリバースコールをお読みください。
ただし、モデルの呼び出しには ModelConfig
型のパラメータを渡す必要があり、その構造は一般的な仕様定義を参照できます。また、モデルの種類によって、この構造にはわずかな違いがあることに注意してください。
例えば、LLM
タイプのモデルの場合、completion_params
と mode
パラメータも含まれている必要があり、この構造を手動で構築するか、model-selector
タイプのパラメータまたは設定を使用できます。
LLMの呼び出し
エントリポイント
エンドポイント
呼び出すモデルに tool_call
の機能がない場合、ここで渡される tools
は有効にならないことに注意してください。
使用例
Tool
内で OpenAI
の gpt-4o-mini
モデルを呼び出したい場合は、以下のサンプルコードを参照してください。
コード内で tool_parameters
の query
パラメータが渡されていることに注意してください。
ベストプラクティス
LLMModelConfig
を手動で構築することは推奨されません。代わりに、ユーザーがUI上で使用したいモデルを選択できるようにすることを推奨します。この場合、ツールのパラメータリストを次のように変更し、model
パラメータを追加できます。
この例では model
の scope
が llm
に指定されていることに注意してください。この場合、ユーザーは llm
タイプのパラメータしか選択できず、上記の使用例のコードを次のように変更できます。
Summaryの呼び出し
このエンドポイントにリクエストしてテキストを要約することができます。現在のワークスペース内のシステムモデルを使用してテキストを要約します。
エントリポイント
エンドポイント
text
は要約されるテキストです。instruction
は追加したい指示であり、これによりテキストを特定のスタイルで要約できます。
TextEmbeddingの呼び出し
エントリポイント
エンドポイント
Rerankの呼び出し
エントリポイント
エンドポイント
TTSの呼び出し
エントリポイント
エンドポイント
tts
エンドポイントが返す bytes
ストリームは mp3
オーディオバイトストリームであり、各イテレーションで返されるのは完全なオーディオであることに注意してください。より高度な処理タスクを実行したい場合は、適切なライブラリを選択してください。
Speech2Textの呼び出し
エントリポイント
エンドポイント
ここで file
は mp3
形式でエンコードされたオーディオファイルです。
Moderationの呼び出し
エントリポイント
エンドポイント
このエンドポイントが true
を返した場合、text
に機密コンテンツが含まれていることを示します。
関連リソース
- Difyサービスのリバースコール - リバースコールの基本概念を理解する
- Appのリバースコール - プラットフォーム内のAppを呼び出す方法を理解する
- Toolのリバースコール - 他のプラグインを呼び出す方法を理解する
- モデルプラグイン開発ガイド - カスタムモデルプラグインの開発方法を学ぶ
- モデル設計規則 - モデルプラグインの設計原則を理解する