89
69

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ノーコードLLM統合アプリのdifyでollamaと連携してみた

Last updated at Posted at 2024-05-04

はじめに

  • 革新的な連携: ノーコードプラットフォームDifyとAIツールOllamaの連携により、開発プロセスが劇的に変革されます。
  • 探求: この記事では、両ツールの統合手順と開発者にとっての利点を詳しく探ります。Difyの直感的なインターフェースを通じて、OllamaのAIモデルを効果的に活用する方法を紹介します。

Ollamaとは

Ollamaは、LLama3やLLava、vicunaやPhiなどのオープンに公開されているモデルを手元のPCやサーバーで動かすことの出来るツールです。

difyとは

DifyはオープンソースのLLMアプリ開発プラットフォームです。 RAGエンジンを使用して、エージェントから複雑なAIワークフローまでLLMアプリを編成します。

前提の環境の説明

  • OS: Windows 11
  • ollamaはWinodowsのインストーラを使用する
  • difyはDocker Desktopを使用して環境を構築する

導入のプロセス

olllamaのインストール

  • ollamaはWinodowsのインストーラで導入する。ollamaのWindows版のインストールに関する情報は、以下のリンクから入手できます。
    https://ollama.com/download/windows

  • 次のモデルをollama pull コマンドであらかじめダウンロードしておく。

このデモで使用したのは、mxbai-embed-largeですが、nomic-embed-textのほうがパラメータ数などは大きいようなので、そちらもチェックしてみてください。
https://ollama.com/library/nomic-embed-text

image.png

difyのDockerのインストール

  • 公式サイトの手順にそってDocker Composeを使用してインストールします。

  • こんな感じで複数のコンテナが起動します。

image.png

ollmaとdifyの連携のプロセス

image.png

追加したあとの設定になっているが、+ADD MORE MODEL PROVIDERからOllamaを選択して、次に2つのモデルを追加した。

モデルプロパイダーとしては、その他にOpenAI, ANTHROPIC, Bedrock, Cohereなど選択できる。

image.png
この環境ではollamaはWindows版でインストールしているので、Base URLを次のように定義した。

image.png

RAGするときに必要なので、この設定も定義した。

モデルの説明を確認したところ、以下のようになっていたので、
image.png

Modelのコンテキストサイズは、4096ではなく、512以下のほうが良かったかもしれない・・・。(未確認
)

lamma3の設定

image.png

text embedingのための設定

image.png

モデルプロパイダーの設定でシステムモデルをクリックする。

image.png

チャットボットを作成する

image.png
スタジオをクリックして移動する。

image.png
次を選択してシンプルなアプリを作成する。

image.png

アプリのアイコンと名前を定義して、作成するをクリックする。

image.png

次のような画面でアプリの定義をする。右上でまずは、モデルを選択する。

image.png

モデルのPARAMETERSを設定したい場合には、上記の項目も確認して調整する。GPUを有効にして1に設定した。

image.png

手順を追記する。

コンテキストを定義するまえに、ナレッジのページをもう一つのブラウザで開いてRAGしたいドキュメントを登録する。
image.png

知識を作成をクリックする。

image.png

image.png
Aさんの経歴はこんなファイル

登録したいいテキストファイルをドラッグして登録する。次へをクリックする。

image.png

image.png

保存して処理をクリックして、ドキュメントが登録されるのを待つ。

image.png

image.png

ナレッジを登録したあとにコンテキストの追加ボタンをクリックする。

image.png

登録したい知識を選択して、追加ボタンをクリックする。

image.png
画面したの機能追加で次の機能も追加する。

image.png
引用と帰属をチェックする。

image.png
右側でデバッグでチャットして確認することができる。

image.png

右上の公開するをクリックして、更新をクリックする。設定が保存される。
アプリを実行をクリックすると、チャットボットの画面が開く。

チャットボットを検証する

image.png

Start Chatをクリックして、チャットを開始する。

image.png

回答のソースもとも示してくれた。

まとめ

  • Difyの利用: 数時間でノーコード開発により、Ollamaと連携するRAGチャットボットを構築できました。
  • モデルの柔軟性: ローカルLLMおよびクラウド環境ともに連携可能で、多様なモデルプロバイダーに対応しています。
  • ワークフローの拡張性: 複雑なワークフローを設計することで、処理を柔軟に拡張し、回答の精度を向上させることが可能です。
  • APIの公開: 構築したボットはAPIを公開できるため、他のプログラムや自律AIアプリケーションからの呼び出しが可能です。

参考文献

その他

image.png

テンプレートからチャットボットを開発することもできる

image.png

拡張ツールとして、このようなものがある。カスタムツールも定義できる。

difyのwebサイトで登録してためせるので、大規模LLMのAPIを試すだけだったら、ローカルに環境構築しなくても試せます。

89
69
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
89
69

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?