28
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

最近「Dify」の話題をよく聞きます。
ノーコードで生成AIを使ったアプリケーションが作れるということでエンジニアではない人が試してみているケースも多いようです。
今回はそんな「Dify」と「Ollama」というツール、そしてオープンソースのLLMを使ってローカル完結型のチャットボットを作ってみようと思います!

Ollamaとは

Ollamaは、Llama 2などの大規模言語モデルをローカルで簡単に実行・管理できるオープンソースツールです。オープンソースLLMと組み合わせることでプライバシーを保護しつつ生成AIを利用することができます。

オープンソースLLM

オープンソースLLMは、ソースコードが公開された大規模言語モデルです。誰でも無償で利用・改変でき、透明性が高く、カスタマイズも可能です。代表例にはMeta社のLlamaがあり、様々なアプリケーションの基盤として活用されています。
日本語に特化したLLMもあり、今回はその中から「Llama-3-ELYZA-JP-8B」を使ってみます。

セットアップ

1. Ollama

以下のページからダウンロード&インストールします。

2. Llama-3-ELYZA-JP-8B(オープンソースLLM)

以下のページからモデルをダウンロードします。

ダウンロードしたモデルがある場所に「Modelfile」という名前のファイルを作成します。
Modelfileには以下のように記載しておきます。

FROM ./Llama-3-ELYZA-JP-8B-q4_k_m.gguf

Modelfileを作成したら以下のコマンドを実行してモデルを作成します。

ollama create elyza -f Modelfile

3. Dify

以下の公式ドキュメントに従ってDockerでローカル環境を用意します。

ログインしてホーム画面が表示されたら設定の「モデルプロバイダー」を開きます。

image.png

Ollamaの「Add Model」から設定画面を開き、以下の通り設定して保存します。

image.png

※Dockerで起動しているためlocalhost:11434では接続できません!

作ってみる

それぞれのセットアップが完了したらDifyでワークフローを作っていきます。

1. アプリ作成

ログインしてホーム画面が表示されたら「最初から作成」のワークフローを選択して「作成する」をクリックします。

image.png

作成すると以下のような画面になるためブロックをつなげてワークフローを作ります。
image.png

LLMのブロックには入力値をマスキングするプロンプトを入力しました。
image.png

2. 試してみる

ワークフローが組めたら「実行」をクリックして試してみます。

image.png

こちらのジェネレーターでCSVデータを作成し、中身をinput欄に入れて「実行を開始」をクリックします。

image.png

無事結果が表示されました!
image.png

結果の精度はイマイチでしたが、プロンプトを調整すればもう少し良くなりそうです。

まとめ

ここまで読んでいただきありがとうございます!
今回はDifyとOllama、そしてLlama-3-ELYZA-JP-8BというオープンソースのLLMを利用して完全にローカルで完結した生成AIアプリを作ってみました!
実はDify×OllamaのコラボはDifyの公式ドキュメントにも手順が記載されています!

皆さんもぜひ試してみてください!

28
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?