生成AI

DifyのAPIアクセスの使い方を整理してみた

Difyのアプリ作成後、APIアクセスのページを見ると全て英語表記になっていて、いろいろなURLが用意されているので、それらの用途について簡単に整理することにしました。

2024/9月 Dify v0.7.3時点の情報になります。

結論

外部サービスからDify API通信するにはPOST通信。

事前にDify側で変数作っておいて、inputsで渡せば動作できる。

responseが返ってくるのであとは外部サービス側でうまいこと取得できるようにコード書けばOKです。

ワークフローアプリケーションAPI

ワークフローアプリケーションは、非セッションをサポートし、翻訳、記事作成、要約AIなどに最適です。

アオキ
ワークフローごとに詳細を知りたい場合に使えるかな。

認証

Service APIはAPI-Key認証を採用しています。API-Keyの漏えいを防ぐため、クライアント側でAPI-Keyを共有したり保存したりせず、サーバー側でAPI-Keyを保存することを強く推奨します。

アオキ
ワークフローごとに詳細を知りたい場合に使えるかな。

POST /workfows/run

ワークフローを実行します。ワークフローが公開されていないと実行できません。

POST通信なのでRequest Body で送る必要があります。

事前にDify側の開始ブロックで変数を設定しておき、inputs (オブジェクト) で渡すことができます。

response_modeは2種類・・streaming(推奨) 生成中も表示、blocking(全て実行後に結果表示)

userはユーザー情報、filesは資料・画像アップロード用ですが、Dify側でまだ画像しかアップロード対応していないので、おって動作確認必要です。

レスポンスはモードによって変わり、blockingならオブジェクト、streamingならChunkCompletionResponse streamで返却

blockingの場合

レスポンスのContent-Typeはapplication/json

statusが返ってくるのでこちらでエラーハンドリング

outputsがアウトプット、errorでエラーの理由

streamの場合

Content-Typeはtext/event-stream

それぞれのチャンクはdata: で始まり、\n\nで分割される。

アオキ
ワークフローごとに詳細を知りたい場合に使えるかな。

GET /workflows/run/:workflow_id

ワークフロー実行詳細の取得。

ワークフロー実行 ID に基づき、ワークフロー タスクの現在の実行結果を取得する。

アオキ
ワークフローごとに詳細を知りたい場合に使えるかな。

POST /workflows/tasks/:task_id/stop

生成の停止
ストリーミングモードでのみサポートされる。

GET /parameters

アプリケーション情報の取得
機能、入力パラメータ名、タイプ、デフォルト値などの情報を取得するために、 ページへの入力開始時に使用される。

DeepL.com(無料版)で翻訳しました。


関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. 生成AI

    Dify講座をリリースしました【非エンジニア向け】
  2. オンライン教材

    【ChatGPT】エンジニア編をリリースしました
  3. オンライン教材

    【React】初心者向け講座をリリースしました【MUI】【Udemy】
  4. オンライン教材

    ChatGPTをビジネス活用する講座をリリースしました【Udemy】
  5. データベース

    MySQLの講座をリリースしました
PAGE TOP
Ads Blocker Image Powered by Code Help Pro

広告ブロックを摘出しました!!

ブラウザ拡張を使用して広告をブロックしていることが摘出されました。

ブラウザの広告ブロッカーの機能を無効にするか、
当サイトのドメインをホワイトリストに追加し、「更新」をクリックして下さい。

あなたが広告をブロックする権利があるように、
当方も広告をブロックしている人にコンテンツを提供しない権利と自由があります。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock