PR

大規模言語モデルの可能性が「すごい」ほど広がる!Difyの魅力に迫る

プログラミング学習

はじめに

 AIやデジタル技術の進化に伴い、企業活動の在り方も大きな変革を迎えています。私自身、日々新しいLLMやAIを活用したツールがどんどん出てきており、業務活用に向けたトライをしています。

 今回この記事では、大規模言語モデルを活用したLLMOpsプラットフォーム「Dify」の魅力と可能性について解説していきます。これはかなり可能性を感じます!!

Difyの概要と特徴

ホームページは日本語化もされていてありがたいです

Dify.AI · 先進的なAIアプリケーションのためのイノベーションエンジン
先進的なAIアプリケーションのためのイノベーションエンジン

ノーコード開発とAIアプリの簡易構築

 Difyの最大の魅力は、コーディング不要のノーコード開発環境にあります。

 直感的なドラッグ&ドロップ操作で、GPT-4などの大規模言語モデルを搭載したAIアプリを視覚的に作成できるのです。開発の手間が大幅に削減されるため、短期間で高機能なアプリを立ち上げることが可能です。開発コストの大幅な削減とリソース効率の向上が期待できるでしょう。

多様なアプリ種類の作成

 Difyで構築できるのは、チャットボット、コード変換ツール、翻訳ツール、コンテンツ生成、クリエイティブスクリプト作成など、多種多様なアプリケーションです。企業のさまざまなニーズに合わせて、適切なアプリを選択・活用できるのが強みです。

柔軟な大規模言語モデルの選択

 Dify では、OpenAI、Anthropic など、複数の大手 LLM プロバイダーからモデルを自由に選択できます。業務内容や要件に合わせて、最適な言語モデルを使い分けられる柔軟性が魅力です。ビジネスニーズが変化した際にも、素早くモデルを切り替えられるでしょう。

高度なカスタマイズと拡張性

 Difyは API による高度なカスタマイズにも対応しています。既存システムとの連携や特別な要件があれば、APIを活用してプラットフォームを拡張できます。成長するビジネスに合わせて、Difyも進化させていくことができるのです。

導入方法

WEBサイトで利用することもできるようですが、今回はPC内にインストールする方法を紹介します。

導入はGitHubに記載しているとおりにセットアップすれば簡単に構築できます。

前提としてDockerをインストールしておく必要がありますが、Redmeの通りにコマンドを実行するだけで簡単にインストールでき、起動するのも非常に簡単です。

・githubから任意のフォルダにクローンします。

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

・クローンが完了したら、difyディレクトリの中にdockerというディレクトリがあるので、そこに移動し、dockerを起動します。

cd docker
docker compose up -d

正常に起動したら、http://localhostに接続すると、初回のみアカウント作成画面が表示されるので、メールアドレスやログインパスワードを設定します。この際のアカウントは、Dockerで起動しているDify専用のログインIDとパスワードの作成画面です。

WEBのDifyのアカウント作成とは異なります。

アカウントの作成が完了すると、ログイン画面が表示されます。先程作成したアカウントでログインします。

Difyログイン画面

LLMが色々使えるようですが、私の場合はひとまずOpenAI APIキーを使ってセットアップしました。

ログインしたら右上のアカウントのアイコンをクリックし、「設定」->「モデルプロバイデー」を開きます。

モデルプロバイダー初期画面

私の場合は、OpenAIとAnthropicのAPIを持っているので、登録をしてみました。どちらもkeyの入力するだけで完了です。

OpenAI API入力画面

以下のようにAPI-KEYのステータスが緑色の状態になっていれば利用可能な状態です。

OpenAI登録完了

Difyの使い方

メニューが4つあります。それぞれ紹介していきます。

探索

こちらはスタジオで作成したアプリを検索し、利用する画面です。

探索画面

当然ながら、最初は何もアプリが無いですが、作成するとワークスペースに作成したアプリが表示されるようになります。

利用者を複数人に増やしていけば、それぞれが作ったアプリを共有し利用することができるようになると思います。

スタジオ

新しいアプリを作成する画面です。

新規作成画面ではモード選択(アシスタントとテキスト生成)から自分で作成するパターンとテンプレートから選択して作成する方法があります。

今回はひとまずテンプレートを使って、翻訳するアプリを作りました。

テンプレート選択画面

翻訳用のテンプレートのためプロンプトや変数が最初から設定されており、すぐ使える状態です。

個別の設定としては、LLMの選択、チューニングがあるので、自分の目的にあった細かい設定をおこなう事ができます。

・LLMの選択

・パラーメータのチューニング

更に今回素晴らしいと思ったのは、複数モデルを同時に比較することができる機能です。リリースする際にはモデルを1つにしなければいけませんが、デバッグ画面では、複数のLLMの出力結果を比較できるので、ここは今後色々なLLMを比較したりと活用できると思いました。

作成が完了したら、「公開」をクリックしてアプリを「探索」から選択できるようになります。

ナレッジ

その名の通り、自分専用にナレッジを追加し、RAGが構築することができます。

「知識を作成」をクリックして、テキストやNotionからデータをインポートします。

「ウェブサイトから同期」は24年3月時点ではまだ利用ができない状態です。

ナレッジとして、今回はDifyのドキュメントの内容をテキストとして保存し登録してみました。

Welcome to Dify! | English | Dify
テキストアップロード画面

今回は設定を変更せずデフォルトのままです

ナレッジ作成詳細画面

「保存して処理」を押すとベクトル化の処理が実行されます。問題なく完了しました。

ナレッジ作成完了

RAGのテスト用のチャットボットを作成します。

スタジオからテキスト生成のアプリを作成します。

RAGアプリ作成画面

コンテキストから追加したDifyのドキュメント選択肢追加します。

デバッグしてみた結果です。

RAGデバッグ結果

GPT-3.5-Truboはだめでしたが、GPT-4はちゃんとコンテキストから引用して、日本語で説明してくれました!この結果ですが、ベクトル化する際の設定などもう少しちゃんとチューニングすればGPT-3.5でも解答できるようになったりすると思います。

ツール

検索ツールなどと組み合わせたアプリ開発のためのツール設定画面です。

ツール画面

今回実際に使った事例までは準備できなかったので、今後追加でご紹介できるようにしたいと思います。

まとめ

Difyについてご紹介させていただきました、いかがだったでしょうか。

最近では、ChatGPTだけでなくClaude 3など、LLMもどんどん進化しており、OpenAI一強ではない状況かと思います。正直どのLLMをメインで使うか迷ってしまう状況にあります。それぞれの有料プランに契約していると、毎月どんどんお金がかかってしまうなと悩んでいたところでした。

このDifyはそれぞれのAPIキーを設定すれば、使った分だけの料金で済むため、私の場合は有料プランに契約するより圧倒的に低価格で済ませることができると思っています。

今後はGPTsのようなカスタマイズ方法やRAGの構築など、Difyをもっと使いこなせるようになりたいと思います。

コメント

タイトルとURLをコピーしました