<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dify on Xainome Blog</title><link>https://xainome-blog.beeskynohito.workers.dev/tags/dify/</link><description>Recent content in Dify on Xainome Blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Mon, 27 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://xainome-blog.beeskynohito.workers.dev/tags/dify/index.xml" rel="self" type="application/rss+xml"/><item><title>オープンソースのLLMアプリ開発プラットフォーム"Dify"を使ってみたよ</title><link>https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/</link><pubDate>Mon, 27 May 2024 00:00:00 +0000</pubDate><guid>https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/</guid><description>&lt;h2 id="difyを使ったllm開発アプリの導入と設定">Difyを使ったLLM開発アプリの導入と設定&lt;/h2>
&lt;p>LLM開発アプリの選択肢として&lt;strong>Dify&lt;/strong>があると聞いたので触ってみました。&lt;/p>
&lt;p>最後にはこんな感じになるといいなと思ったものになります。&lt;/p>
&lt;h3 id="dify_クラウド版とローカル版の比較">Dify_クラウド版とローカル版の比較&lt;/h3>
&lt;p>やり方は2つあります。クラウド版とローカル版の2つなります。お好きな方を使っていただければと思いますが、ローカル版のほうが個人的にはいいかと思います。&lt;/p>
&lt;h3 id="クラウド版の導入方法">クラウド版の導入方法&lt;/h3>
&lt;p>クラウド版に関しては登録するだけで使えます。画面はこんな感じ&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-24-122507-1024x505.png">&lt;/p>
&lt;h3 id="ローカル版の導入手順">ローカル版の導入手順&lt;/h3>
&lt;p>ローカル版はGItとDockerが必要になるのでない人はインストールから始めましょう&lt;/p>
&lt;h3 id="difyのインストールとセットアップ">Difyのインストールとセットアップ&lt;/h3>
&lt;p>DockerはDocker Desktopを導入しておけば大丈夫です。docker composeも入っているので一緒にインストールされます。&lt;/p>
&lt;p>ではコマンドプロンプトを開いて開発する場所にgit cloneでdifyをインストールします。コマンドはこちら&lt;/p>
&lt;pre tabindex="0">&lt;code>git clone https://github.com/langgenius/dify.git
&lt;/code>&lt;/pre>&lt;h3 id="docker-composeの起動">Docker Composeの起動&lt;/h3>
&lt;p>インストールが出来たらdocker compseを起動させるのでフォルダを移動します。開発場所にdifyをインストールできたと思うのでdockerフォルダに移動します。&lt;/p>
&lt;pre tabindex="0">&lt;code>cd docker
&lt;/code>&lt;/pre>&lt;p>フォルダの移動が出来たらdocker composeの起動をします。起動できるとこんな感じ&lt;/p>
&lt;pre tabindex="0">&lt;code>docker compose up -d
&lt;/code>&lt;/pre>&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-24-213753-1024x368.png">&lt;/p>
&lt;h3 id="アプリ作成の開始">アプリ作成の開始&lt;/h3>
&lt;p>起動したらURLを入力して画面を表示させてみましょう！クラウド版とそこまで変わりません。&lt;/p>
&lt;p>URL: &lt;a href="http://localhost/apps">http://localhost/apps&lt;/a>&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-24-122518-1024x507.png">&lt;/p>
&lt;p>テンプレートから作成でもいいですが、私は最初から作成してみました。こんな感じ。今回はチャットボットを作ってみますので適当に名前を付けて作成します。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-141846.png">&lt;/p>
&lt;h3 id="llmモデルの設定">LLMモデルの設定&lt;/h3>
&lt;p>アプリが出来たらこんな感じの画面ができます。今回はgptモデルを使っていこうと思います。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-24-153647-1024x508.png">&lt;/p>
&lt;p>設定から色んなLLMモデルを選ぶことができます。今回はOpenAIを使用するのでOpenAIのAPI-KEYをセットしました。他に使いたいモデルがあればそのAPI-KEYを設定すれば使えます。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-142415.png">&lt;/p>
&lt;p>それから使用するモデルは&amp;quot;システムモデル設定&amp;quot;から設定します。他のモデルも設定すればそちらも使えるようになります。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-142716.png">&lt;/p>
&lt;h3 id="ナレッジの登録">ナレッジの登録&lt;/h3>
&lt;p>今回作るチャットボットはRAGなので次はナレッジを登録します。&amp;ldquo;知識を作成&amp;quot;からファイルを登録してインデックス化していきます。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-144132-1024x244.png">&lt;/p>
&lt;p>ファイルのアップロードをします。私が本来作りたいのは15000ファイル位あったのでそこまではアップしませんが、いくつか登録します。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-144144-1024x441.png">&lt;/p>
&lt;p>アップロードが完了してインデックス化が完了すると&lt;strong>利用可能&lt;/strong>というステータスになります。エラーになってるものは利用できないので、再試行かアップのし直しでインデックス化を試みてください。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-144255-1024x235.png">&lt;/p>
&lt;h3 id="アプリのプロンプト設定とテスト">アプリのプロンプト設定とテスト&lt;/h3>
&lt;p>ナレッジの登録が完了したらいよいよアプリの作成です。手順つまりプロンプトを設定して、コンテキストに作ったナレッジを設定します。今回は取得したナレッジを要約するように指示します。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-145241-1024x346.png">&lt;/p>
&lt;p>設定したら公開するからアプリ実行をします。するとチャット画面に移動します。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-111838-1024x344.png">&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-145723.png">&lt;/p>
&lt;p>Star Chatからチャットを打ってどんな感じか動かしてみます。まず使えるファイルが1つだけだったので&amp;quot;特許権について&amp;quot;と聞いてみました。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-27-111816.png">&lt;/p>
&lt;p>中を見たのですが合っていました。とは言え私は法律の専門家ではないのでよくわかってないですが、雰囲気的には合ってそうです。&lt;/p>
&lt;h3 id="エラーの対応と改善">エラーの対応と改善&lt;/h3>
&lt;p>一応やってるときにエラーが出たりしたのでその時の話も共有します。アプリの作成途中でこんな感じのエラーが出ました。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-25-190325-1.png">&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/05/llm-dify-review/images/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2024-05-25-215608-1-1024x36.png">&lt;/p>
&lt;p>どうやら課金のチャージができていなかったようです。そこでOpenAIのサイトでチャージしたらこのエラーは解消されました。&lt;/p>
&lt;p>APIあまり使ってなかったのですが、こういうことが起こるので自動設定でチャージさせるようにしました。ただ、悪用されたら怖いので注意を払う必要がありますね。&lt;/p>
&lt;h3 id="difyを活用した応用の可能性">Difyを活用した応用の可能性&lt;/h3>
&lt;p>これがうまいことできれば他のファイルでもできそうなので色んなとこで応用できそうです。もちろんセキュリティの問題が付きまといますので専門的な知識や暗黙知とかのファイルであれば有効活用できそうですね。ではでは。&lt;/p></description></item></channel></rss>