MENU

Difyと生成AIで、誰でも簡単にAIアプリが作れる時代がやってきました!

こんにちは!最近、生成AIの技術が目覚ましく進歩し、ちょっとした会話以上の使い方ができるようになってきたことをご存知でしょうか?でも、いざ自分でアプリを作ろうとすると、まだまだハードルが高いと感じている方も多いのではないでしょうか。

そんな中、「Dify」というノーコードプラットフォームと、「Anthropic Claude」という生成AIを組み合わせれば、プログラミングの知識がなくても、簡単にAIアプリが作れるようになったのです!

この記事では、そんなDifyとClaudeを使って、手軽にAIアプリを構築する方法をご紹介します。前編では、ノーコードでAIアプリを作るチュートリアルを、後編では、自作プログラムで機能追加してAIの性能を上げるサンプルを見ていきましょう。

目次

誰向けの記事なのでしょうか?

  • 生成AIに興味はあるけれども、まだチャット以上の使い方が分からない方
  • 気軽にAIアプリを作ってみたい方
  • OpenAIの月額料金に躊躇している方

特にOpenAIの料金体系には不満を感じている方も多いのではないでしょうか。でも、Difyなら無料で使えるので、お金の心配なくAIアプリ開発に挑戦できるのです。

事前に必要なもの

  • Docker(Docker Compose)。Windowsなら Docker Desktop をお使いください。
  • 生成AIをチャットで使ったことがある程度のプロンプト操作の知識

Dockerは環境構築に必要ですが、そんなに難しくありませんので心配しないでください。プロンプトの知識も、チャットで遊んだことがあれば十分です。

準備するもの

  • Anthropic APIのAPIキー
  • ローカルで動かすDify

Anthropic APIのAPIキーは、電話番号認証で5ドル分の無料枠がもらえるので、まずはそれを使ってみましょう。OpenAIやOpenRouterを使っている方はそちらでも大丈夫です。

Difyは、GitHubからソースコードをダウンロードして、Dockerで動かします。サービスとして提供されているDifyを使ってもいいのですが、APIキーを預けるのは何となく不安ですし、後編で便利なので、ローカルで使うことをおすすめします。

チュートリアル1:シンプルなAIチャットボットを作りましょう!

まずは、特定のテーブル定義に対して特化したSQLを生成するチャットボットを作ってみましょう。

はい、続けて説明いたします。

  1. 画面上部のスタジオ→新しいアプリを作成する、をクリックしてください。タイプにアシスタントを選択し、適当な名前を付けます。後から変更可能ですので、ご安心ください。(実はおなじみのAIチャットとして使うだけならここまでで完成してしまっています)
  2. 画面左の「手順」に以下を入力します。フォーカスを外すと変数追加をリコメンドしてくれます。追加後このままだと短文しか入力できないので両方 ⚙ で「段落」に変更しましょう。
You can behave as an expert of database expert. Provide a clear answer to the main purpose of the order. Omit preamble, phase, and repeating the order.

DDL:

{{DDL}}“`

Data model descriptions:
{{DataModelDescriptions}}
“`

動作確認

ここで画面右上の「公開」をクリックしてください。しなくても動作確認は出来ますが、変更が保存されていません。実はこの時点で完成したアプリケーションとして公開されてしまいますが、これ以外に開発中のアプリケーションを保存する方法が見当たりませんでした。

  1. DDL に CREATE TABLE ~ などのDDLを貼り付けてください。
  2. DataModelDescriptions に各テーブルの内容や結合方式などについての説明文を貼り付けてください。必須ではありませんがこれが無いとAIはすぐ存在しないカラムの幻覚を見始めるので強くお勧めします。(ここで入力した値は永続化されないので、何度も使い回す用に自分でテキストファイルにでも貼り付けて保存しておきましょう)
  3. 画面右下に薄っすらと入力欄が有るのでそこにSQL生成を依頼するプロンプトを入力してください。

速い安い旨いの Haiku でも3,4テーブル程度の結合・集約なども結構な高精度で生成してくれます。

参考までに私が使用した変数の値を下記に貼り付けておきます。少し実務みのある区分値やリレーションを設定してあります。

  • DDL
  • Data Model Descriptions
  • プロンプト:「売上金額と売上数を場所別・商品別・月別に集計するSQL」

アプリケーション公開

ここまでの操作で(公開をクリックした時点で)既にDify上で動作するアプリケーションが完成し公開されています。

画面左のメニューで「概要」で下記の画面が表示されます。UIもAPIも使用可能な上にAPIキー管理機能まで自動で提供されていてまさに至れり尽くせりです。プレビューをクリックするとアプリケーションの画面が開きます。

チュートリアル2:外部ツールの使用

文章を生成するだけのLLMに、外部サイトの情報を収集する機能と、グラフを描画する機能を追加します。

開発

  1. また画面上部のメニューからスタジオ→新しいアプリを作成する→アシスタントを選択して適当な名前で作成してください。
  2. 「基本アシスタント」をクリックして「エージェントアシスタント」を選択します。
  3. 画面左側に「ツール」エリアが出現するので、「+追加」をクリックして、 Wikipedia と ChartGenerator の Pie Chart を追加します。
  4. 「手順」に 「ユーザの入力したプロンプトについてWikipediaで検索し、数値の情報をもとにパイチャートを作成してください。」 と入力します。無くても動作はしますがそのままだと LLM が Wikipedia を参照せず手持ちの情報で回答してしまいがちなので念を押しておきます。

動作確認

「公開」をクリックしてプロンプトに「アメリカの全人口における州ごとの人口のパイチャート」と入力すると若干怪しい動きを見せつつ作図されます。

実は残念ながら現時点では Anthropic の Functions & external tools には直接対応していないらしく、エージェント設定を見るとエージェントモードが ReAct になっています(GPTやGPT互換だと Function Calling のはず)。どうもこの場合Difyは、「LLMが生成した文字列からツール用パラメータっぽい部分をパースしてツールに中継する」という形で Function Calling を模した機能を提供するようで、生成された文字列が一部でもJSONとして破綻(値の中で改行など)していると失敗します。ツールの呼び出しに失敗するとツールを呼び出そうとした文字列がそのまま最終回答文として出力されます。

以上が、Difyと生成AIを使って簡単にAIアプリを作る方法のチュートリアルです。いかがでしたでしょうか?プログラミングの知識がなくても、ノーコードでAIアプリが作れるのは本当に素晴らしいことですよね。

ぜひ、この記事を参考に、自分オリジナルのAIアプリ開発に挑戦してみてください。きっと新しい発見と楽しさがあるはずです。後編では、さらに高度な機能追加の方法を紹介しますので、ご期待ください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次