Difyコミュニティ版(OSS)の導入

Difyコミュニティ版(OSS)の導入

Difyとは

カスタムAIアシスタントを構築・展開するためのオープンソースのLLMアプリケーション開発プラットフォームです。コミュニティ版(OSS)は、以下の主要な機能を提供します。

  • プロンプトエンジニアリングとLLMの統合管理
  • データセットの作成と管理
  • 会話型アプリケーションの構築
  • APIを通じたアプリケーション統合

コミュニティ版は、セルフホスティングで運用可能で、Docker Composeを使用して簡単にデプロイできます。商用版と比べて一部機能は制限(注意点に記載しています)されていますが、基本的なAIアプリケーション開発に必要な機能は網羅されています。

https://github.com/langgenius/dify/blob/main/README_JA.md

インストール

Difyをインストールする前に、構築環境が以下の要件を満たしていることを確認してください。

  • Docker Engineのインストール(バージョン20.10.0以上推奨)
  • Docker Composeのインストール(バージョン2.0.0以上推奨)
  • 最小システム要件 CPU 2コア、メモリ4GB、ストレージ20GB以上
  • ポート3000(Webコンソール用)と3000(API用)が利用可能なこと

またLLMを利用するために、以下のいずれかのAPIキーを用意する必要があります。

  • OpenAI API キー
  • Anthropic API キー
  • Azure OpenAI API キー

インストール手順

以下の手順でDifyをインストールします。

1. Gitリポジトリのクローン

git clone https://github.com/langgenius/dify.git
cd dify

2. 環境設定ファイルの準備

cd docker
cp .env.example .env

3. .envファイルの編集以下の項目を必要に応じて変更してください。

  • POSTGRES_PASSWORD:PostgreSQLのパスワード
  • REDIS_PASSWORD:Redisのパスワード
  • COOKIE_SECRET:セッション用の秘密鍵
  • CONSOLE_API_URL:APIのベースURL
  • CONSOLE_WEB_URL:WebアプリのベースURL

4. Dockerコンテナの起動

docker compose up -d

5. 初期設定の実行ブラウザで http://localhost:3000 にアクセスし、以下の初期設定を行います。

  • 管理者アカウントの作成
  • ワークスペース名の設定
  • LLMプロバイダー(OpenAI等)の設定

https://docs.dify.ai/ja-jp/getting-started/install-self-hosted/docker-compose

初期設定

初期設定では以下の手順で基本的な設定を行います。

  1. 管理者アカウントの設定
    • メールアドレスとパスワードを設定
    • 管理者名を入力
  2. ワークスペースの設定
    • ワークスペース名を入力
    • 必要に応じてワークスペースの説明を追加
  3. LLMプロバイダーの設定
    • 使用するLLMプロバイダー(OpenAI、Anthropic、Azure OpenAI)を選択
    • APIキーを入力
    • 必要に応じてモデルの設定を調整
  4. セキュリティ設定
    • アクセス制限の設定
    • APIキーの発行(必要な場合)

これらの設定は後からダッシュボードで変更することも可能です。特にLLMの設定は、使用状況に応じて適宜調整することをお勧めします。

💡 ただし、ワークスペースは設定後にGUIで変更することはできませんのでご注意ください

バージョンアップ

Difyは頻繁に更新されているようです。私の環境では、公式ドキュメントを参考に、以下の手順でバージョンアップしています。

1. カスタマイズしたdocker-compose YAMLファイルのバックアップ(任意)

cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak

2. メインブランチから最新のコードを取得

git checkout main
git pull origin main

3. サービスの停止(dockerディレクトリで実行)

sudo docker compose down

4. データのバックアップ(念の為)

tar -cvf volumes-$(date +%s).tgz volumes

5. サービスのアップグレード

sudo docker compose up -d

コミュニティ版の注意点

  • GoogleやGithubでのログインは未対応
  • SSOは今後対応予定
  • ワークスペースはインストール時に設定する1つのみ