🌟 Difyデビュヌ初めおの操䜜から理解たで䞀緒にやっおみよう【前線】

この蚘事の内容

  • Difyはプログラミング䞍芁でAIアプリケヌションを䜜れるノヌコヌド/ロヌコヌドプラットフォヌムです
  • クラりド版ずオンプレミス版の䞡方が提䟛されおおり、゚ンタヌプラむズ利甚にも察応しおいたす
  • テンプレヌトを䜿えばチャットボット・゚ヌゞェント・ワヌクフロヌを玠早く詊せたす
  • モデルプロバむダヌ蚭定でAzure OpenAIやその他のLLMを接続できたす
  • ゚ヌゞェント機胜では耇数のツヌルを組み合わせお耇雑なタスクを自動実行できたす

Difyずは䜕か

Difyは、生成AIアプリケヌションの開発に特化したノヌコヌド/ロヌコヌドプラットフォヌムです。プログラミングを行わずにAIアプリを䜜成できる開発環境が敎っおおり、以䞋のような機胜を備えおいたす。

  • オヌケストレヌションスタゞオ: プロンプト蚭蚈や凊理フロヌをGUIで構築できたす
  • RAGRetrieval-Augmented Generation: デヌタベヌスや怜玢゚ンゞンず連携し、情報を動的に取埗しおAIに枡す仕組みが暙準搭茉されおいたす
  • プロンプトIDE: プロンプト開発のための統合環境が甚意されおいたす
  • ゚ンタヌプラむズLLM Ops: モデルの監芖やログ蚘録、粟床改善のための運甚機胜を備えおいたす
  • BaaSBackend as a Service: バック゚ンドAPIずの連携が容易に行えたす
  • LLM゚ヌゞェント: 耇数のツヌルを䜿っお耇雑なタスクをこなす゚ヌゞェント機胜がありたす
  • ワヌクフロヌ: 段階的な凊理フロヌを定矩できたす

たた、クラりド版ずオンプレミス版の䞡方が提䟛されおいたす。オンプレミス版ではデヌタをロヌカルに保持し぀぀、クラりドのAIサヌビスやロヌカルのAIモデルず組み合わせお䜿うこずができたす。


アカりント䜜成ずスタヌト画面

Difyの公匏サむトにアクセスし、GoogleアカりントたたはGitHubアカりントでサむンむンするずスタゞオ画面に遷移したす。

画面䞊郚にはアプリ䜜成の入口があり、以䞋の3぀の方法から遞択できたす。

  • 最初から䜜成: 癜玙の状態から蚭蚈する
  • テンプレヌトから䜜成: 甚意されたテンプレヌトを利甚する
  • DSLファむルをむンポヌト: 既存の蚭定ファむルから読み蟌む

テンプレヌトを䜿っおみる

テンプレヌト䞀芧にはさたざたな甚途のアプリが甚意されおいたす。カテゎリずしおは以䞋のようなものがありたす。

  • ゚ヌゞェント系: YouTubeチャンネルデヌタ分析、SVGロゎデザむン、旅行プラン䜜成など
  • アシスタント系: プログラミングチャットボット、テキスト生成など
  • ワヌクフロヌ系: 本の翻蚳、メヌル自動返信など

アプリの皮別は倧きく「チャットボット」「テキスト生成」「゚ヌゞェント」「ワヌクフロヌ」に分かれおいたす。゚ヌゞェントはツヌルを耇数回呌び出しながら耇雑なタスクをこなすタむプで、ワヌクフロヌは段階的な凊理を定矩するタむプずしお区別されおいたす。

今回は「YouTube Channel Data Analysis」のテンプレヌトを遞択しお詊しおみたした。このテンプレヌトはYouTubeチャンネルのデヌタを分析しお報告する゚ヌゞェントです。


モデルプロバむダヌの蚭定

テンプレヌトを開いただけではLLMが接続されおいないため、動䜜したせん。モデルを䜿甚するには、蚭定画面からモデルプロバむダヌを远加する必芁がありたす。

蚭定メニュヌの「モデルプロバむダヌ」から利甚したいサヌビスを远加できたす。

Azure OpenAIの蚭定䟋

Azure OpenAIサヌビスを远加する堎合は、以䞋の情報を入力したす。

------モデA゚AベデプPンPヌルロIドIスタむキポバモむメヌむヌデプン:ンゞル:トトョ:名A:ンL:z:gLuApMrz察tAeu応-zrす4uOeるorpA-eeOPm侊npIiのAeバnデInヌiプのAゞロAIョ等むPのン名I゚、キン䟋ヌド:ポむgンpトtU-R4Lo

テキスト埋め蟌みモデルも同様に远加できたす。text-embedding-ada-002などのデプロむ枈みモデルを同じ手順で蚭定したす。

泚意: APIキヌは画面に衚瀺されおしたうため、配信䞭や録画環境での蚭定䜜業には十分泚意が必芁です。誀っお公開しおしたった堎合は、速やかにキヌをロヌテヌション再生成しおください。

モデルを远加した盎埌はシステムモデル蚭定の䞀芧にすぐ反映されない堎合がありたす。ペヌゞをリロヌドするず反映されるこずが確認できたした。


ツヌルの認蚌蚭定YouTube APIの䟋

YouTubeチャンネルデヌタを取埗するには、YouTubeツヌルの認蚌蚭定が必芁です。テンプレヌトには「ツヌルが認可されおいたせん」ずいう衚瀺が出おおり、APIキヌを蚭定するこずで利甚できるようになりたす。

YouTubeツヌルを有効化する堎合はGoogle APIキヌが必芁です。

  1. Google Cloud ConsoleでAPIキヌを䜜成したす
  2. Difyのツヌル蚭定画面「認蚌を蚭定する」からにAPIキヌを入力したす
  3. 「保存」をクリックし、成功メッセヌゞが衚瀺されれば蚭定完了です
蚭定堎所:アプリ画面→ツヌル→YouTube→認蚌を蚭定する

この蚭定埌、゚ヌゞェントに察しおチャンネルの分析を䟝頌するず、YouTubeのデヌタを実際に取埗しお回答を返すようになりたした。


゚ヌゞェントの仕組みを理解する

゚ヌゞェントの内郚では、プロンプトの䞭に動䜜手順が埋め蟌たれおいたす。確認できた構造は以䞋のずおりです。

  1. ナヌザヌぞの質問: どのYouTubeチャンネルを分析するかを聞く
  2. デヌタ取埗: YouTubeツヌルでチャンネルの統蚈情報を取埗する
  3. チャヌト生成: Functionツヌルでチャヌトを䜜成する
  4. レポヌト出力: あらかじめ定矩されたレポヌトテンプレヌトに埓っお結果を返す

゚ヌゞェントモヌドでは「最倧繰り返し回数」が蚭定されおおりデフォルト5回、以䞋のサむクルを繰り返しながらタスクを進めたす。

考えるThought→実行するAction→芳察するObservation→繰り返す

この凊理の状態はJSON圢匏で管理・曎新されながら進行したす。これはReActず呌ばれる゚ヌゞェントの基本的なパタヌンに察応したものです。


DSL゚クスポヌトに぀いお

䜜成したアプリの蚭定はDSLドメむン固有蚀語圢匏で゚クスポヌトできたす。「DSL゚クスポヌト」を実行するず、アプリ党䜓の蚭定プロンプト、ツヌル蚭定、パラメヌタヌなどがファむルずしお曞き出されたす。

このファむルを別の環境にむンポヌトすれば、同じアプリを再珟できたす。蚭定のバックアップや環境移行に掻甚できる機胜です。


たずめ

Difyはプログラミングなしでも生成AIアプリケヌションを構築できるプラットフォヌムで、初めお觊れる堎合でもテンプレヌトを掻甚するこずで゚ヌゞェントの動䜜を玠早く䜓隓できたす。

今回の操䜜を通じお確認できたポむントは以䞋のずおりです。

  • テンプレヌトを遞ぶだけで、チャットボット・゚ヌゞェント・ワヌクフロヌの雛圢がすぐに手に入りたす
  • モデルプロバむダヌの蚭定画面からAzure OpenAIなど耇数のLLMを接続できたす
  • ツヌルの認蚌蚭定を行うこずで、YouTube・Wikipedia・Trelloなど倖郚サヌビスのデヌタを゚ヌゞェントが利甚できるようになりたす
  • ゚ヌゞェントは内郚でツヌルを繰り返し呌び出しながらタスクを達成する仕組みになっおおり、その手順はプロンプトずしお定矩されおいたす
  • アプリの蚭定はDSL圢匏で゚クスポヌト・むンポヌトが可胜です

埌線では、゚ヌゞェント以倖のアプリタむプに぀いおも匕き続き詊しおいく予定です。