さくらの生成AIプラットフォームで作るローカルLLMとDifyによるチャットボット(3) ローカルLLMのDifyへの組み込みとチャットボットの作成

前回の記事ではさくらの高火力 DOKというコンテナー型GPUクラウドサービスを活用して、軽量な日本語対応オープンソースLLMモデルであるllama3.2-1b(Hugging Face上の軽量Llama 3ベースモデル)を起動して会話テストを行いました。

第三回のこの記事では、いよいよDifyにそのモデルを組み込みチャットボットを起動します。

OpenAI互換インターフェースのDifyへの組み込み

前回の記事ではLocalAIというフレームワークを用いて、llama3.2-1bがOpenAI互換インターフェースを使ってチャットを行えることろまでを構築しました。

このため第一回の記事で設定したDifyのOpenAI連携部分を編集すればいいのですが、DifyのこのOpenAI用モデルプロバイダーはAPI Keyを必須としているため、そのままでは使用できません。

そこで、別のモデルプロバイダーとしてOpen AI Compatibleという互換用モデルプロバイダーが用意されていますのでそちらを使います。

ちなみにllamaは著名なオープンソースモデルなので、LocalAIを使ってOpenAI互換インターフェースにしなくてもDifyに組み込むことができます。とはいえさまざまなものと連携をすることを考慮すると、デファクトでもあるOpenAI互換インターフェースにしておくことはメリットがあるといえます。

Open AI Compatibleのインストールは、下記の画面にてインストールをクリックすればOKです。

モデルプロバイダーのインストールが完了したらモデルの追加をクリックします。このとき、パラメータとしては以下を指定します。

  • Model Type : LLM
  • Model Name : llama32-1b
  • Model display name : llama32-1b
  • API endpoint URL : https://<高火力DOKのURL>/v1 ( /v1 を忘れないようにしてください)

残りのパラメータはデフォルトのまま保存をクリックします。

以下のように投入されれば完成です。

テスト

ではテストを行います。第一回で作成済のチャットを起動します。

利用するモデルを先ほど作成したものに置き換えます。

話しかけると無事回答が返ってきました!

次回予定:ローカルLLMとクラウド型モデルの使い分け

この環境でいろいろチャットを行っていると、やはりクラウド型最新モデルの方がレスポンスが早く、また雑多な話題には強いことがわかります。これは技術的な側面として稼働している規模やかかっているコストなどから避けられない制約です。

一方、生成AIに依頼をするワークロードの中には、単純な会話の他に情報のベクトル化や音声からの文字起こしなどさまざまなものが存在します。

そのようなワークロードでは、最新のクラウドLLMを使わなくてもそん色のない精度が出るものが多く存在しています。次回はそのような使い方をご紹介させていただきます。