株式会社TIMEWELLの濱本です。
最近話題のDifyというサービスをご存知でしょうか?Difyは、OpenAIのGPT-4の上位互換とも言われている、非常に便利なサービスです。プログラミングの知識がなくても、高度なチャットボットを作ることができます。
この記事では、そんなDifyの特徴や使い方について、実際のデモンストレーションを交えながら詳しく解説していきます。言語モデルを便利に使いたい方は、ぜひ最後までお読みください!
Difyとは?GPT-4の上位互換!?
Difyは、OpenAIのGPT-4の上位互換にあたるサービスです。GPT-4は、自分専用にカスタマイズしたチャットボットを作ることができるサービスとして知られていますが、DifyはそのGPT-4の機能をさらに強力にしたものになっています。
Difyの特徴は以下の通りです。
主要な言語モデルが全て使える(OpenAIのGPTシリーズ、AnthropicのClaude、GoogleのGemini、その他多くの最新AIモデル)
APIを使った独自のチャットボットを、プログラミングなしで開発可能
ユーザーの入力や利用頻度などのログを管理できる
料金は使った分だけの従量課金制
特に、プログラミングの知識がなくても、難しいコードを書かずに簡単にチャットボットを作れる点は大きなメリットです。プログラミングができない人でも、Difyの使い方をマスターすれば、言語モデルを使ったアプリを開発できるようになります。
Difyの使い方 - 実演デモを交えて解説
それでは、実際にDifyを使ってチャットボットを作ってみましょう。Difyのアプリを使うには、Difyのクラウドサービスを使う方法と、自分で環境を用意する方法の2つがあります。
今回は、自分で環境を用意する方法を解説します。まずはGitHubページから、アプリを動かすための最低限のスペックを確認します。Difyはメモリが4GB以上あれば使えるとのことなので、ほとんどのパソコンで動かせそうですね。
アプリのセットアップが完了したら、ローカルホストにアクセスしてDifyのアプリを立ち上げます。アカウントを作成してログインすると、使いたいモデルのAPIキーを設定する画面が表示されます。APIキーとは、プログラムから言語モデルを使用するときに使うパスワードのようなものです。OpenAIやGemini、Anthropicなど、様々なモデルが選択できますので、使ってみたいモデルを設定しましょう。
APIキーの設定が終わったら、いよいよチャットボットを作成します。「最初から作成」⇒「チャットボット」を選択し、チャットボットの基本から作っていきます。「にゃんたアプリ」という名前で、にゃんたのように返信してくれる新しいチャットボットを作ってみましょう。
必要事項を入力して「作成する」を押すと、次の画面に遷移します。
ここで重要なのが、システムプロンプトの設定です。「手順」のBOXに、チャットボットにどのように振る舞ってほしいのかを細かく設定することができます。今回は、「あなたはニャンタというキャラクターのAIです。ユーザーの入力に対してニャンタのように返信を生成します。ニャンタは語尾に顔文字をよく使います。基本的にポジティブでネガティブなことは言いません。」というプロンプトを設定しました。
プロンプトの設定が終わったら、右上のところからモデルを選択します。今回はGPT3.5のターボに設定します。
モデルの選択が終わったら、右側のテキストボックスから実際にチャットボットとやり取りをしてみましょう。「こんにちは」と入力すると、「にゃーん♪(´⌣`ʃƪ)」といった具合に、愉快な返信が返ってきました。
チャットボットの挙動が確認できたら、右上のところから「公開する」⇒「更新」を押すと公開済みになるので、続いて「アプリを実行」を押します。これでにゃんたアプリが完成しました。
プロンプトの設定次第で、様々な個性を持ったチャットボットを作ることができます。
Difyの高度な機能 - ワークフローを使ったチャットボットの作成
Difyでは、もっと高度なチャットボットも作成できます。それが「ワークフロー」という機能を使ったチャットボットです。
ワークフローを使うと、ユーザーと会話しながら言語モデルに何かしらの処理をさせるようなアプリケーションが作れます。例えば、ユーザーの質問がどのカテゴリーに分類されるのかを判定し、それに応じて適切な回答を生成させるようなチャットボットです。
デモンストレーションでは、「gemini Pro 1.5」に関する質問なのか、「Claude 3」に関する質問なのか、それ以外なのかを判定して回答するチャットボットを作成しました。
チャットボットで会話を始めると、最初に、ユーザーの質問をGPT-3.5-turboで分類します。もし「gemini Pro 1.5」に関する質問だと判定されたら、事前にアップロードしておいた関連論文を参照しながら回答を生成。「Claude 3」だと判定されたら、外部ツールの「TavilySearch」を使って回答を生成します。それ以外の質問の場合は、「その質問には答えられません」と返信するようにしました。
このように、ワークフローを使えば条件分岐を設定したり、外部ツールと連携させたりと、より複雑な処理を行うチャットボットを作成できます。プログラミングで一から実装するとなると大変ですが、Difyならブロックを組み合わせるだけで簡単に実現できます。
まとめ
Difyは、OpenAIのGPT-4の上位互換とも言える非常に便利なサービスです。プログラミングの知識がなくても、高度なチャットボットを作ることができるのが大きな特徴です。
今回は、Difyの特徴や使い方について、実際のデモンストレーションを交えながら詳しく解説してきました。APIキーの設定からチャットボットの作成、ワークフローを使った高度な機能まで、Difyの一連の流れをご紹介しました。
Difyは無料で利用でき、商用利用も可能なので、今後ますます活用されていくことが予想されます。言語モデルを使ったアプリ開発に興味がある方は、ぜひDifyを使ってみてください。プログラミングができなくても、誰でも手軽に高度なチャットボットを作れるはずです。
