Difyでチャットボットをローカル環境で動かす – その1

Difyでチャットボットをローカル環境で動かす – その1

こんにちは、mukaiyachiです。

5月くらいから注目を集めているDify。
私もちょいちょいですがDifyを使っていろいろ試してみていました。

その中から今回はタイトルの通り、RAGを使ったチャットボットをローカル環境で動かす手順を記します。

※記載内容は2024年7月時点のものです。閲覧時期によっては実際の手順が変更になっている可能性があることを予めご了承願います。

1. Difyをローカル環境(自分のパソコン上)で動かす

Difyとは
・プログラミングの知識が無くても、大規模言語モデル(LLM)を組み込んだアプリケーションを簡単に開発できる、オープンソースのプラットフォームです。

・GPT-4やClaude 3、Llamaなどを利用して、直感的なドラッグ&ドロップのインターフェースでAIチャットボットやアシスタントを作成できます。

・RAGエンジンを搭載し、関連情報の検索と高品質な回答生成が可能です。

・クラウド版(Saas版)もありますがローカル版も提供されていて、LLMアプリを自社(自分)の環境で構築して動かすようにすることも出来ます。

・クラウド版を使用する場合は、下記のURLにアクセスしてGoogleアカウントかGitHubアカウントでログインするだけです。
https://cloud.dify.ai/signin

 

ローカル版の実行は以下の手順で行います。
※今回はMac(Intel)上で動かす例になります。他環境で動かす場合は異なる可能性がありますので、念の為ドキュメントを見てください。
https://docs.dify.ai/v/japanese/getting-started/install-self-hosted/docker-compose

(1) 使用するコンピューターにDockerがインストールされているか確認
インストールされていない場合はインストールします。
https://docs.docker.jp/get-docker.html

(2) GitHubからソースコードを任意のディレクトリにclone
今回の例でのDifyプロジェクトのバージョンは「0.6.14」です。

(3) Dockerコンテナを起動

※「dify/docker」の「dify」はcloneしたプロジェクトのルートディレクトリ。

(4) ブラウザでアクセス
初回起動時に下記のURLにアクセスし、管理者アカウント設定画面を表示します。
http://localhost/install
※初回起動は時間がかかります。

必要情報を入力し[セットアップ]をクリックするとログイン画面に遷移します。

(5) 管理者アカウントを設定
メールアドレス、ユーザー名、パスワードを設定し、ログインします。
ログインに成功しスタジオ画面が表示されればセットアップ完了です。

(6) Difyの使用
次回以降はDockerコンテナを起動した状態で下記のURLにアクセスすれば使用できます。
http://localhost


2. Ollamaをローカル環境で動かす

ローカル環境で言語モデルを使用する方法はいくつかあるようですが今回はOllamaを使用しました。

Ollamaとは
・オープンソースで公開されている言語モデルをローカル環境で実行出来るようにするツールです。
・外部のAPIに依存すること無く手元の環境で言語モデルの検証を行うことが可能となります。
公式サイト

 

Ollama導入のプロセスは以下になります。

(1) まずはパソコンにOllamaをインストール

Difyの公式ドキュメントを見てインストールしても良いですし、MacでHomebrewを使用している場合は下記のコマンドでインストールすることもできます。

(2) インストール出来たらOllamaサーバーを起動

(3)言語モデルをダウンロード
・Ollamaでは使用可能な言語モデルをライブラリとして提供しています。

使用可能な言語モデル一覧

・[ollama pull]コマンドを使用してモデルをpullします。
※初回は時間がかかる場合があります。

・今回は[Gemma 2]という言語モデルを使用しました。

・下記のコマンドでpullします。

Gemma 2とは
・Googleが2024年6月27日(現地時間)にリリースしたオープンソースのLLM。
・Googleとしては初のオープンソースで提供するLLMとして、2024年2月にGemmaがリリースされた。
・Gemma 2はそのGemmaの強化版最新モデル。
・軽量で最先端の技術を使用し、GoogleのGeminiモデルの研究と技術を元に構築。
・5月のGoogle I/O 2024でリリースが予告されていたもの。
公式サイト

 

もし別の言語モデルやバージョンを使用したい場合は、上記のモデル一覧ページから詳細ページの遷移して
コマンド実行に必要なモデル名を確認してみてください。


今回はここまでで続きは次回になります。
投稿されたらまたよろしくお願いします!