Skip to main content
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

概要

ほとんどのプラグインツールとエンドポイントは、ステートレスな単一ラウンドのインタラクションモデルで動作します:
  1. リクエストを受信
  2. データを処理
  3. レスポンスを返却
  4. インタラクションを終了
しかし、多くの実際のアプリケーションでは、複数のインタラクション間で状態を維持する必要があります。ここで永続ストレージが不可欠になります。
永続ストレージメカニズムにより、プラグインは同じワークスペース内でデータを永続的に保存でき、ステートフルなアプリケーションやメモリ機能を実現できます。
Difyは現在、プラグイン用のキーバリュー(KV)ストレージシステムを提供しており、開発者のニーズに基づいて、将来的にはより柔軟で強力なストレージインターフェースを導入する予定です。

ストレージへのアクセス

すべてのストレージ操作は、プラグインのセッションで利用可能なstorageオブジェクトを通じて実行されます:

ストレージ操作

データの保存

setメソッドでデータを保存します:
値はbytes形式である必要があります。これにより、ファイルを含むさまざまな種類のデータを柔軟に保存できます。

例:さまざまなデータ型の保存

データの取得

getメソッドで保存されたデータを取得します:

例:データの取得と変換

データの削除

deleteメソッドで保存されたデータを削除します:

ベストプラクティス

説明的なキーを使用する

競合を避け、コードをより保守しやすくするために、キーに一貫した命名規則を作成してください。

欠損キーを処理する

キーが見つからない可能性があるため、処理前にデータが存在するかどうかを常に確認してください。

複雑なデータをシリアライズする

保存前に複雑なオブジェクトをJSONまたは他のシリアライズ形式に変換してください。

エラーハンドリングを実装する

潜在的なエラーを適切に処理するために、ストレージ操作をtry/exceptブロックでラップしてください。

一般的なユースケース

  • ユーザー設定:セッション間でユーザーの設定やプリファレンスを保存
  • 会話履歴:以前の会話からのコンテキストを維持
  • APIトークン:認証トークンを安全に保存
  • キャッシュデータ:API呼び出しを減らすために頻繁にアクセスされるデータを保存
  • ファイルストレージ:ユーザーがアップロードしたファイルや生成されたコンテンツを保存

このページを編集する | 問題を報告する