Open6

「Difyで作る生成AIアプリ完全入門」でDifyに入門してみたメモ

segavvysegavvy

第1章 Difyの基本

ここは特につまずくこともなく完了!

segavvysegavvy

第2章 Difyの基礎設定

モデルプロバイダーの設定では、すでにOpenAIのAPI Keyも持っていたら直接入力して設定できます。「API Base」は入力欄の例にあるhttps://api.openai.comで大丈夫でした。

OpenAIのAPI Key発行手順まで解説されているのは親切でいいですね!

segavvysegavvy

第3章 日々の営業効率をアップするアプリ

「最初から作成」でアプリを作る際、「チャットボット」が最初は表示されなくなっていました。「初心者向けの基本的なアプリタイプ」の中にいるのでここから選びましょう。

なお、本を見ながらプロンプトを入力するのが大変ですが、本の末尾にある「サンプルのダウンロード方法」で以下からファイルを落としてきてインポートすると、すべての設定が終わっているアプリが登録できます。

https://github.com/GenerativeAgents/dify-book/blob/main/all.zip

ただ、これだと設定を自分でやってみることができません。長いプロンプト入れる作業だけ飛ばしつつ設定は自分でやりたい私みたいな方は、yml形式のファイルをテキストエディタで開くと途中にプロンプトが書かれたところがあるので、そこだけコピペで持っていくのがよさそうです。余計な改行や行頭の空白を除去したりしないといけませんが。

あと、普通にインポートすると警告が出てきます。配られているファイルよりもバーションが進んでしまった影響みたいですね。なお、「×」を選べば先に進みます。「営業メール作成アプリ」は普通に動きました。

それにしても、保存すると一般公開されてしまいURLが漏洩すると使われてしまうというのは少し気になるところ。もう少しセキュアにするには、フロントを独自で開発してAPIを利用する形にしたり(これだとノーコードじゃなくなってしまいますが)、セルフホストにしたり、セルフホストのEnterpriseにあるSSOを利用するなどが選択肢になりそうです。

https://dify.ai/jp/pricing

営業電話トレーニングのアプリでは、なぜか最初は音声認識がうまくいかなかったのですが、いろいろ触っていたら認識されるようになりました。何が原因だったんだろう。また、応答をしゃべらせる部分は、本の公式サイトに書いてあるように「テキストから音声へ」の言語を「英語」に切り替えると動くようになりました。

https://github.com/GenerativeAgents/dify-book/tree/main

segavvysegavvy

第4章 名刺や見積書などのファイルを処理するアプリ

名刺や領収書アプリは、認識の精度が高くてすごいです。gpt-4.1-nano-2025-04-14で試していたのですが、適当な角度で撮った領収書をそこそこ読み取ってくれて驚きました。

見積書アプリはxlsxの見積書を修正してくれるのですが、残念ながらここでできあがるのはxlsxファイルではなくMarkdownです。でも、ExcelはPower Queryを使って外部のCSVファイルを参照できるので、体裁は見積書のxlsxファイルで作っておき、中身のデータはそこから参照するCSVファイルに書くという形に分けておけば、CSVファイルだけをLLMに処理させて最後に見積書のxlsxを更新(更新されたCSVファイルの反映)することで見積書の変更も実現できるかもしれません。

最後の議事録アプリはつまずきました。最初に25MBくらいのm4aファイルを渡したらエラーに。

Run failed: [openai] Error: PluginInvokeError: {"args":null,"error_type":"PluginDaemonInnerError","message":"encountered an error: invalid character '\u003c' looking for beginning of value status: 413 Request Entity Too Large original response: \u003chtml\u003e"}

小さくしたりmp3にしたりしたけど変わらず😢

Run failed: [models] Bad Request Error, Error code: 400 - {'error': {'message': 'This model requires that either input content or output modality contain audio.', 'type': 'invalid_request_error', 'param': 'model', 'code': 'invalid_value'}}

原因がわからずネットをさまよっていたら、筆者のれみおさんのコメント発見!

https://x.com/lemilemilemio/status/1921076405380530260

なんと、れみおさんが修正されて承認待ちだそうです!ありがたい!

https://x.com/lemilemilemio/status/1934264549601058940

というわけで、今日は4章の後半まででした。なんとか今月中に読破したい!

segavvysegavvy

れみおさんの修正が承認されました🎉
https://x.com/lemilemilemio/status/1935298936362909948

https://x.com/lemilemilemio/status/1935302963175805238

なるほど!さっそくOpenAIのプラグインを新しくしましょう。



これで「gpt-4o-audio-preview-2025-06-03」が選べるようになるので、切り替えて再挑戦!

できた!

なお、P.108の画面キャプチャやサンプルのダウンロードファイルではプロンプトが「音声を文字起こししてください。」になっているのですが、これだと要約されてしまうことがありました。P.107の下部にあるように要約させずにそのまま書き起こすよう指示するのがよさそうです。

また、私は30分くらいの音声ファイルで試していたのですが、時々エラーになることがありました。また、「gpt-4o-audio-preview」でうまくいくこともありました。preview版はまだ怪しいことも多そうですね。

これにて4章読破です!