みなさんは最近生成AIのトレンドでDifyというキーワードを聞いたことはありますでしょうか。この記事では「はじめてのDify」としてその機能をハンズオン形式で紹介していきます。
Difyとは
ChatGPTなどの大規模言語モデル(LLM)を活用できる「AIアプリ開発・運用基盤」でノーコードで、ナレッジとの連携を活用したRAG(拡張検索)やチャットボット、ワークフローの作成ができます。
コードブロックという機能を用いることで、例えば入出力のjsonを操作するといったことも可能ですが、主要な機能などはあらかじめ準備されていますので、基本的なアプリケーション構築であればノーコードで構築できます。
2種類の提供形態
DifyはOSSとして開発が進められておりそのソースコードは以下で公開されています。
https://github.com/langgenius/dify
一方LangGenius社がクラウドサービスとしても提供をしています。
検索に用いるプライベートな情報をすべて自社でコントロールしたい場合は、オンプレミスないしはクラウド上のVPC内部でOSS版を展開する形態が一般的ですが、クラウドサービス上の疑似的なプライベートな情報空間を信頼するのであればクラウド版といった使い分けになります。特にRAGを構築する場合、社内機密資料、お客様情報やメールでのやり取り、などを用いるケースがあると思います。
Dify自体はSOC 2 Type I & Type II、ISO/IEC 27001:2022等の認定を取得しGDPRへの準拠も表明していまし、監査レポートも入手できますのでそれ自体は安全といえると思います。選択の分岐としてはあくまで自分たちでその環境をどこまでコントロールしたいか?になります。
さっそくやってみる
では今日はDifyを使って一番簡単なチャットボットを作成してみます。
0. OpenAI API のトークン作成
ここからログインしてAPIトークンを発行しておきます。
Create new secret key をクリックします。


1. Dify へOpenAIトークンの組み込み
画面右上のアイコンをクリックして設定を開きます。

OpenAIをクリックします。Difyでは主要なLLMへの接続はすでにモジュールが用意されているので、APIキーを設定するだけで使えるようになります。
保存 をクリックした時点で自動でOpenAIと疎通を行ってトークンの有効性を確認してくれます。

チャットボットの作成
では次にチャットボットを作成します。
画面上部スタジオをクリックして最初から作成を選択します。

チャットボットを選択して、名前を適当に入力して作成するをクリックします。

これでチャットボットが完了です!

APIの公開
さらにクライアントプログラムからこのチャットボットを呼ぶ場合、今作成したチャットボット用APIを作成し公開させます。
公開する ボタンをクリックします。

画面左側のAPIアクセスをクリックした後、画面右上のAPIキーをクリックします。

シークレットキーを発行します。

ドキュメント上にコピペで使えるcurlコマンドがそのまま出ていますので実行してみます。

https://zenn.dev/kameoncloud/articles/c9af9b57b52525
にPostmanを使った手順をまとめていますので参考にしてみてください。