Dify
日本語
日本語
  • 入門
    • Difyへようこそ
      • 特性と技術仕様
      • モデルプロバイダーリスト
    • クラウドサービス
    • コミュニティ版
      • Docker Compose デプロイ
      • ローカルソースコードで起動
      • aaPanelでのデプロイ方法
      • フロントエンドDockerコンテナを単独起動
      • 環境変数の説明
      • よくある質問
    • Dify Premium
    • Dify 教育版
  • マニュアル
    • モデル
      • 新しいプロバイダーの追加
      • 事前定義されたモデルの追加
      • カスタムモデルの追加
      • インタフェース
      • 配置ルール
      • 負荷分散
    • アプリ・オーケストレーション
      • アプリの作成
      • チャットボット
        • 複数モデルのデバッグ
      • エージェント
      • ツールキット
        • コンテンツモデレーション
    • ワークフロー
      • キーコンセプト
      • 変数
      • ノードの説明
        • 開始
        • 終了
        • 回答
        • LLM
        • 知識検索
        • 質問分類
        • 条件分岐
        • コード実行
        • テンプレート
        • テキスト抽出ツール
        • リスト処理
        • 変数集約
        • 変数代入
        • 反復処理(イテレーション)
        • パラメータ抽出
        • HTTPリクエスト
        • エージェント
        • ツール
        • 繰り返し処理(ループ)
      • ショートカットキー
      • オーケストレートノード
      • ファイルアップロード
      • エラー処理
        • 事前定義されたエラー処理ロジック
        • エラータイプの概要
      • 追加機能
      • プレビューとデバッグ
        • プレビューと実行
        • ステップ実行
        • 対話/実行ログ
        • チェックリスト
        • 実行履歴
      • アプリケーション公開
      • JSON形式での出力
      • 変更通知:画像アップロード機能がファイルアップロード機能に統合されました
    • ナレッジベース
      • ナレッジベース作成
        • 1. オンラインデータソースの活用
          • 1.1 Notion からデータをインポート
          • 1.2 Webサイトからデータをインポート
        • 2. チャンクモードの指定
        • 3. インデックス方式と検索オプションの設定
      • ナレッジベースの管理
        • ナレッジベース内ドキュメントの管理
        • APIを活用したナレッジベースのメンテナンス
      • メタデータ
      • アプリ内でのナレッジベース統合
      • リコールテスト/引用帰属
      • ナレッジベースの要求頻度制限
      • 外部ナレッジベースとの接続
      • 外部ナレッジベースAPI
    • ツール
      • クイック統合ツール
      • 高度統合ツール
      • ツールの設定
        • Google
        • Bing
        • SearchApi
        • StableDiffusion
        • Perplexity Search
        • AlphaVantage 株式分析
        • Dall-e
        • Youtube
        • Serper
        • SearXNG
        • SiliconFlow(Flux AI サポート)
        • ComfyUI
    • アプリ公開
      • シングルページWebアプリとして公開
        • Web アプリの設定
        • テキスト生成アプリ
        • 対話型アプリ
      • Webサイトへの埋め込み
      • API基づく開発
      • フロントエンドテンプレートに基づいた再開発
    • アノテーション
      • ログとアノテーション
      • アノテーション返信
    • モニタリング
      • データ分析
      • 外部Opsツール統合
        • LangSmithを統合
        • LangFuseを統合
        • Opikを統合
    • 拡張
      • API 拡張
        • Cloudflare Workers を使用した API ツールのデプロイ
        • コンテンツモデレーション
      • コード拡張
        • 外部データツール
        • コンテンツモデレーション
    • コラボレーション
      • 発見
      • メンバーの招待と管理
    • 管理
      • アプリの管理
      • チームメンバーの管理
      • 個人アカウントの管理
      • サブスクリプション管理
      • バージョン管理
  • ハンドオン工房
    • 初級編
      • ゼロからAI画像生成アプリの構築方法
      • AIエージェントの実践:個人のオンライン旅行アシスタントの構築方法
    • 中級編
      • チャットストリームエージェントを使用した Twitter アカウントの分析方法
      • ファイルアップロードを使用した記事理解アシスタントの構築方法
  • コミュニティ
    • サポートの求め
    • 貢献者ガイド
    • ドキュメントへの貢献
  • プラグイン
    • 機能紹介
    • クイックスタート
      • プラグインのインストールと活用
      • プラグイン開発の入門
        • 開発環境のセットアップ
        • ツール型プラグイン
        • モデル型プラグイン
          • モデルプロバイダーの構築
          • 定義済みモデルの組み込み
          • カスタムモデルの組み込み
        • エージェント戦略プラグイン
        • 拡張機能型プラグイン
        • バンドル
      • プラグインのデバッグ方法
    • プラグイン管理方法
    • スキーマ仕様
      • Manifest(マニフェスト)
      • Endpoint(エンドポイント)
      • Tool(ツール)
      • Agent(エージェント)
      • Model(モデル)
        • モデル設計規則
        • モデルスキーマ
      • 一般的な標準仕様
      • 永続化されたストレージ
      • Difyサービスの逆呼び出し
        • アプリ
        • モデル
        • ツール
        • ノード
    • ベストプラクティス
      • Slack Bot プラグインの開発
      • Dify MCP プラグインガイド:ワンクリックで Zapier に接続してメールを自動送信
    • プラグインの公開
      • プラグインの自動公開
      • Difyマーケットプレイスへの公開
        • プラグイン開発者ガイドライン
        • プラグインのプライバシー保護に関するガイドライン
      • 個人GitHubリポジトリへの公開
      • ローカルでの公開と共有
      • 第三者署名検証のためにプラグインに署名する
    • よくある質問
  • 開発
    • バックエンド
      • DifySandbox
        • 貢献ガイド
    • モデルの統合
      • Hugging Faceのオープンソースモデルを統合
      • Replicateのオープンソースモデルを統合
      • Xinferenceでデプロイしたローカルモデルを統合
      • OpenLLMでデプロイしたローカルモデルを統合
      • LocalAIでデプロイしたローカルモデルを統合
      • Ollamaでデプロイしたローカルモデルを統合
      • LiteLLM Proxyを使用してモデルを統合する
      • GPUStackとの統合によるローカルモデルのデプロイ
      • AWS Bedrock上のモデル(DeepSeek)の接続
    • 移行
      • コミュニティ版を v1.0.0 に移行する
  • もっと読む
    • 活用事例
      • DeepSeek & Dify連携ガイド:多段階推論を活用したAIアプリケーション構築
      • Ollama + DeepSeek + Dify のプライベートデプロイ:あなた自身のAIアシスタントの構築方法
      • あなた専用のQAチャットボットのトレーニング方法
      • コードなしでMidjourney プロンプトボットを作成する方法
      • Notion AI アシスタントを構築する
      • 数分で業務データを持つ公式サイトのAIチャットボットを作成する方法
      • DifyチャットボットをWixサイトに統合する方法
      • AWS Bedrockのナレッジベースに統合する方法
      • Difyで大規模言語モデルの「競技場」を体験する方法:DeepSeek R1 VS o1 を例に
      • Difyスケジューラーの構築
      • DifyクラウドでAI Thesis Slack Botを構築
    • さらに読む
      • LLMOpsとは何ですか?
      • 配列変数とは何ですか?
      • 検索拡張生成(RAG)
        • ハイブリッド検索
        • Rerank
        • リトリーバルモード
      • プロンプトエンジニアリング
      • DifyでJSONスキーマ出力を使用する方法
    • FAQ
      • ローカルデプロイに関するFAQ
      • LLM設定と使用に関するFAQ
      • プラグイン
  • ポリシー
    • オープンソースライセンス
    • ユーザ規約
      • 利用規約
      • プライバシーポリシー
      • 合規性レポートの入手方法
Powered by GitBook
On this page
  • 1. ローカル展開の初期化後、パスワードが間違っている場合のリセット方法は?
  • 2. ローカル展開ログで「ファイルが見つかりません」というエラーを修正する方法は?
  • 3. インストール後にログインできない、またはログインした後に401エラーが表示される場合は?
  • 4. 起動後にページが読み込まれ続け、CORSエラーが表示される場合は?
  • 5. 展開後のバージョンアップ方法は?
  • 6. Notionを使用してインポート時に環境変数を設定する方法は?
  • 7. ローカル展開バージョンでスペースの名前を変更する方法は?
  • 8. アプリケーションへのアクセスドメインを変更するには?
  • 9. データベースのマイグレーションが発生した場合にバックアップすべき内容は?
  • 10. OpenLLMをローカルで起動する際にDocker展開のDifyが127.0.0.1を使用してローカルポートにアクセスできない理由は?
  • 11. ローカル展開バージョンのデータセットでドキュメントをアップロードする際のサイズと数量制限を解決する方法は?
  • 12. ローカル展開バージョンでメール経由でメンバーを招待する方法は?
  • 13. ローカル展開バージョンで「Can't load tokenizer for 'gpt2」というエラーが発生した場合はどうすればよいですか?
  • 14. ローカル展開バージョンでポート80の競合を解消する方法
  • 15. テキスト読み上げ中に「[openai] Error: ffmpeg is not installed」というエラーが発生した場合の対処方法
  • 16. ローカル展開中のNginx設定ファイルのマウントエラーを解消する方法
  • 17. ベクトルデータベースを他のベクトルデータベースに移行する方法
  • 18. SSRF_PROXYが必要な理由とは?
  • 19. 作成したアプリをテンプレートとして設定する方法は?
  • 20. 502 Bad Gateway
  • 21. コンテンツ セキュリティ ポリシーを有効にするにはどうすればよいですか?
  • 22. APIサービスのポート番号を変更する方法
  • 23. ファイルをローカルストレージからクラウドストレージに移行する方法
  1. もっと読む
  2. FAQ

ローカルデプロイに関するFAQ

1. ローカル展開の初期化後、パスワードが間違っている場合のリセット方法は?

Docker Composeで展開した場合、次のコマンドを使用してパスワードをリセットできます:

docker exec -it docker-api-1 flask reset-password

メールアドレスと新しいパスワードを2回入力してください。

2. ローカル展開ログで「ファイルが見つかりません」というエラーを修正する方法は?

ERROR:root:Unknown Error in completion
Traceback (most recent call last):
  File "/www/wwwroot/dify/dify/api/libs/rsa.py", line 45, in decrypt
    private_key = storage.load(filepath)
  File "/www/wwwroot/dify/dify/api/extensions/ext_storage.py", line 65, in load
    raise FileNotFoundError("File not found")
FileNotFoundError: File not found

このエラーは、展開方法の変更や api/storage/privkeys ディレクトリの削除によって発生する可能性があります。このファイルは大規模モデルキーの暗号化に使用されるため、損失は不可逆です。次のコマンドを使用して暗号化キーペアをリセットできます:

  • Docker Compose デプロイ

    docker exec -it docker-api-1 flask reset-encrypt-key-pair
  • ソースコードの起動

    apiディレクトリに移動し、次のコマンドを実行します:

    flask reset-encrypt-key-pair

    プロンプトに従ってリセットしてください。

3. インストール後にログインできない、またはログインした後に401エラーが表示される場合は?

これは、ドメイン/URLを変更したため、フロントエンドとバックエンドの間でクロスドメインの問題が発生している可能性があります。クロスドメインとアイデンティティの問題には、次の構成が関係しています:

  1. CORS クロスドメイン構成

    1. CONSOLE_CORS_ALLOW_ORIGINS

    コンソールCORSポリシー。デフォルトは*で、すべてのドメインがアクセス可能です。 2. WEB_API_CORS_ALLOW_ORIGINS

    WebAPP CORSポリシー。デフォルトは*で、すべてのドメインがアクセス可能です。

4. 起動後にページが読み込まれ続け、CORSエラーが表示される場合は?

これは、ドメイン/URLを変更したため、フロントエンドとバックエンドの間でクロスドメインの問題が発生している可能性があります。docker-compose.yml内の次の構成項目を新しいドメインに更新してください:

CONSOLE_API_URL: コンソールAPIのバックエンドURL CONSOLE_WEB_URL: コンソールWebのフロントエンドURL SERVICE_API_URL: サービスAPIのURL APP_API_URL: WebApp APIのバックエンドURL APP_WEB_URL: WebAppのURL

5. 展開後のバージョンアップ方法は?

イメージから開始した場合は、最新のイメージを取得し、アップグレードを完了させてください。ソースコードから開始した場合は、最新のコードを取得してから始め、アップグレードを完了させます。

ソースコードの更新については、apiディレクトリに移動し、次のコマンドを実行してデータベース構造を最新バージョンにマイグレートします:

flask db upgrade

6. Notionを使用してインポート時に環境変数を設定する方法は?

  1. NOTION_INTEGRATION_TYPE :この値は(public/internal)に設定する必要があります。Notion の OAuth リダイレクトアドレスは https のみをサポートするため、ローカル展開には Notion の内部統合を使用してください。

  2. NOTION_CLIENT_SECRET : Notion OAuth クライアントシークレット(パブリック統合タイプ用)。

  3. NOTION_CLIENT_ID : OAuth クライアントID(パブリック統合タイプ用)。

  4. NOTION_INTERNAL_SECRET : Notion内部統合シークレット。NOTION_INTEGRATION_TYPEが internalの場合、この変数を設定してください。

7. ローカル展開バージョンでスペースの名前を変更する方法は?

データベースのtenantsテーブルを直接修正してください。

8. アプリケーションへのアクセスドメインを変更するには?

docker_compose.yaml内のAPP_WEB_URL構成項目を見つけて、新しいドメインに変更してください。

9. データベースのマイグレーションが発生した場合にバックアップすべき内容は?

データベース、構成されたストレージ、ベクトルデータベースのデータをバックアップしてください。Docker Composeを使用して展開した場合は、dify/docker/volumesディレクトリ内のすべてのデータを直接バックアップします。

10. OpenLLMをローカルで起動する際にDocker展開のDifyが127.0.0.1を使用してローカルポートにアクセスできない理由は?

127.0.0.1はコンテナ内のアドレスです。Difyの構成されたサーバーアドレスは、ホストのローカルネットワークIPアドレスである必要があります。

11. ローカル展開バージョンのデータセットでドキュメントをアップロードする際のサイズと数量制限を解決する方法は?

12. ローカル展開バージョンでメール経由でメンバーを招待する方法は?

ローカル展開バージョンでは、メールを通じてメンバーを招待できます。メールアドレスを入力し、招待を送信すると、ページに招待リンクが表示されます。招待リンクをコピーしてユーザーに転送してください。ユーザーはそのリンクを開き、メール経由でログインし、パスワードを設定してスペースにアクセスできます。

13. ローカル展開バージョンで「Can't load tokenizer for 'gpt2」というエラーが発生した場合はどうすればよいですか?

Can't load tokenizer for 'gpt2'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'gpt2' is the correct path to a directory containing all relevant files for a GPT2TokenizerFast tokenizer.

14. ローカル展開バージョンでポート80の競合を解消する方法

ポート80が使用中の場合、ポート80を占有しているサービスを停止するか、docker-compose.yamlでポートマッピングを変更し、ポート80を別のポートにマッピングしてください。通常、ApacheやNginxがこのポートを占有しているため、これらのサービスを停止することで解決できます。

15. テキスト読み上げ中に「[openai] Error: ffmpeg is not installed」というエラーが発生した場合の対処方法

[openai] Error: ffmpeg is not installed

OpenAI TTSはオーディオストリームの分割を実装しているため、ソースコード展開にはffmpegのインストールが必要です。詳細な手順は以下の通りです:

Windows:

  1. FFmpegフォルダをダウンロードして展開し、"ffmpeg-20200715-51db0a4-win64-static"のようなフォルダが生成されます。

  2. 展開したフォルダを任意の場所に移動します。例:C:\Program Files\。

  3. FFmpegのbinディレクトリの絶対パスをシステムの環境変数に追加します。

  4. コマンドプロンプトを開き、"ffmpeg -version"と入力します。FFmpegのバージョン情報が表示されれば、インストールが成功しています。

Ubuntu:

  1. ターミナルを開きます。

  2. 次のコマンドを入力してFFmpegをインストールします:sudo apt-get update、次にsudo apt-get install ffmpegを入力します。

  3. インストールが成功したかどうかを確認するために、"ffmpeg -version"と入力します。

CentOS:

  1. まず、EPELリポジトリを有効にします。ターミナルで次を入力します:sudo yum install epel-release

  2. 次に、次のコマンドを入力します:sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

  3. yumパッケージを更新します。入力:sudo yum update

  4. 最後に、FFmpegをインストールします。入力:sudo yum install ffmpeg ffmpeg-devel

  5. インストールが成功したかどうかを確認するために、"ffmpeg -version"と入力します。

Mac OS X:

  1. ターミナルを開きます。

  2. Homebrewをまだインストールしていない場合は、次のコマンドを入力してインストールできます:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  3. Homebrew を使用して FFmpeg をインストールします。入力:brew install ffmpeg

  4. インストールが成功したかどうかを確認するために、"ffmpeg -version"と入力します。

16. ローカル展開中のNginx設定ファイルのマウントエラーを解消する方法

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/run/desktop/mnt/host/d/Documents/docker/nginx/nginx.conf" to rootfs at "/etc/nginx/nginx.conf": mount /run/desktop/mnt/host/d/Documents/docker/nginx/nginx.conf:/etc/nginx/nginx.conf (via /proc/self/fd/9), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

完全なプロジェクトをダウンロードし、dockerに移動し、docker-compose up -dを実行してください。

git clone https://github.com/langgenius/dify.git
cd dify/docker
docker compose up -d

17. ベクトルデータベースを他のベクトルデータベースに移行する方法

Weaviate から他のベクトルデータベースにベクトルデータベースを移行する場合、データを移行する必要があります。以下はその手順です:

  1. ローカルソースコードから始める場合は、.envファイル内の環境変数を移行したいベクトルデータベースに変更してください。例:VECTOR_STORE=qdrant

  2. docker-composeから始める場合は、docker-compose.yamlファイル内の環境変数を移行したいベクトルデータベースに変更し、apiとworkerの両方を修正する必要があります。例:

# The type of vector store to use. Supported values are `weaviate`, `qdrant`, `milvus`, `analyticdb``.
VECTOR_STORE: weaviate
  1. 以下のコマンドを実行してください

flask vdb-migrate # or docker exec -it docker-api-1 flask vdb-migrate

テスト済みのターゲット データベース:

  • qdrant

  • milvus

  • analyticdb

18. SSRF_PROXYが必要な理由とは?

不必要なリスクを避けるために、SSRF攻撃の可能性があるすべてのサービスにプロキシを設定し、Sandboxのようなサービスがプロキシを通じてのみ外部ネットワークにアクセスできるようにしています。これにより、データとサービスのセキュリティが強化されます。デフォルトでは、このプロキシはローカルリクエストをインターセプトしませんが、squid 構成ファイルを変更することで、プロキシの動作をカスタマイズできます。

プロキシの動作をカスタマイズする方法は?

プロキシの動作は docker/volumes/ssrf_proxy/squid.conf にある squid 構成ファイルを編集することでカスタマイズできます。例えば、ローカルネットワークが 192.168.101.0/24 セグメントにアクセスできる場合でも、192.168.101.19 にある機密データには、ローカル展開のDifyユーザーがアクセスしてほしくない場合、以下のように squid.conf にルールを追加できます。

acl restricted_ip dst 192.168.101.19
acl localnet src 192.168.101.0/24

http_access deny restricted_ip
http_access allow localnet
http_access deny all

19. 作成したアプリをテンプレートとして設定する方法は?

20. 502 Bad Gateway

このエラーは、Nginxがサービスを誤った場所に転送しているために発生します。まず、対象のコンテナが実行中であることを確認し、以下のコマンドを管理者権限で実行してください:

docker ps -q | xargs -n 1 docker inspect --format '{{ .Name }}: {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

出力の中から以下の2行を見つけてください:

/docker-web-1: 172.19.0.5
/docker-api-1: 172.19.0.7

これらのIPアドレスをメモしておきます。次に、Difyソースコードを保存しているディレクトリに移動し、dify/docker/nginx/conf.d を開いて、http://api:5001 を http://172.19.0.7:5001 に、http://web:3000 を http://172.19.0.5:3000 に置き換え、Nginxコンテナを再起動するか、構成を再読み込みします。

なお、これらのIPアドレスは 例 ですので、独自のIPアドレスを取得するためにコマンドを実行する必要があります。また、関連するコンテナを再起動する際には、IPアドレスの再設定が必要になることがあります。

21. コンテンツ セキュリティ ポリシーを有効にするにはどうすればよいですか?

22. APIサービスのポート番号を変更する方法

API サービスのポートは、Dify プラットフォームで使用されるポートと一致します。docker-compose.yaml ファイルの nginx 設定を変更することで、実行中のポートを再指定することができます。

23. ファイルをローカルストレージからクラウドストレージに移行する方法

ファイルをローカルストレージからクラウドストレージ(例:Alibaba Cloud OSS)に移行するには、'upload_files'と'privkeys'ディレクトリからデータを移行する必要があります。以下の手順に従って操作してください:

  1. ストレージ設定を構成する

    ローカルソースコードデプロイメントの方法:

    • .envファイルでストレージ設定を更新します

    • STORAGE_TYPE=aliyun-ossを設定します

    • Alibaba Cloud OSSの認証情報を設定します

    Docker Composeデプロイメントの方法:

    • docker-compose.yamlファイルでストレージ設定を更新します

    • STORAGE_TYPE: aliyun-ossを設定します

    • Alibaba Cloud OSSの認証情報を設定します

  2. 移行コマンドを実行する

    ローカルソースコードの場合:

    flask upload-private-key-file-to-cloud-storage
    flask upload-local-files-to-cloud-storage

    Docker Composeの場合:

    docker exec -it docker-api-1 flask upload-private-key-file-to-cloud-storage
    docker exec -it docker-api-1 flask upload-local-files-to-cloud-storage
PreviousFAQNextLLM設定と使用に関するFAQ

Last updated 7 months ago

詳細については、を参照してください。

**。**プライベート展開を行う場合は、次の構成を設定してください:

公式Webサイトのを参照してください。

設定に関しては、公式Webサイトのや関連するを参照してください。

を訪れ、事前にコンパイルされたWindows用の共有ライブラリをダウンロードします。

コミュニティエディションの docker-compose.yaml では、一部のサービスに SSRF_PROXY と HTTP_PROXY 環境変数が設定されています。これらは全て、ssrf_proxy コンテナを指しており、SSRF攻撃を防ぐために利用されています。SSRF攻撃について詳しく学びたい方は、をご覧ください。

これは一例に過ぎません。必要に応じてプロキシの動作を自由にカスタマイズできます。アップストリームプロキシやキャッシュの設定が必要な場合は、詳細については をご覧ください。

現時点では、作成したアプリをテンプレートとして設定する機能はサポートされていません。既存のテンプレートは、Difyの公式がクラウドバージョンユーザー向けに提供しているもので、参考用となっています。クラウドバージョンをご利用の場合は、アプリをワークスペースに追加したり、変更後にカスタマイズして独自のアプリを作成できます。コミュニティバージョンを使用していて、チーム向けにさらに多くのアプリテンプレートが必要な場合は、有料の技術サポートを受けるために弊社ビジネスチームにお問い合わせください:

.env構成ファイルでCSP_WHITELISTパラメータを見つけて、製品の使用に関連するすべての URL や API リクエスト アドレスなど、許可できるドメイン名を入力します。 この動きは、潜在的な XSS 攻撃を減らすのに役立ちます。 CSP に関する推奨事項の詳細については、 を参照してください。

環境変数
Notion 統合構成アドレス
環境変数
環境変数
Issue
FFmpeg公式Webサイト
こちらの記事
squid構成ドキュメント
business@dify.ai
コンテンツ セキュリティ ポリシー