メインコンテンツへスキップ
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
DifyのAPIを使用すると、AI インフラストラクチャを一から構築することなく、既存のアプリケーションにAI機能を統合できます。カスタムユーザーエクスペリエンスを作成する柔軟性と、大規模言語モデルの全ての機能を利用できます。

Dify APIを使用する理由

バックエンドの複雑さをスキップ

AIインフラストラクチャを管理することなく、フロントエンドアプリから直接大規模言語モデル機能にアクセス

ビジュアルアプリ管理

AIの動作を視覚的に設計・更新—変更は全てのAPIコンシューマーに即座に反映

プロバイダーの柔軟性

コード変更なしでAIプロバイダーを切り替え、APIキーを一元管理

組み込み監視機能

ログ、分析、ユーザーアクティビティ追跡を標準で提供

API統合の仕組み

  1. アプリを構築 — 必要なAI機能を備えたアプリをDify Studioで作成
  2. API認証情報を生成 — アプリの機能に安全にアクセスするための認証情報を生成
  3. APIを呼び出し — アプリケーションからAPIを呼び出してAIによる応答を取得
  4. ユーザーとの対話 — ユーザーはカスタムインターフェースと対話し、DifyがAI処理を担当
あなたのAPIは、Difyアプリのすべての機能(プロンプト、知識ベース、ツール、モデル設定)を自動的に継承します。

開始方法

1

API設定にアクセス

アプリで、左サイドバーのAPI Accessに移動します。
2

API認証情報を作成

統合用の新しい認証情報を生成します。異なる環境やユーザー向けに複数のキーを作成できます。
3

ドキュメントを確認

Difyはアプリの設定に特化した完全なAPIドキュメントを生成します。
4

アプリに実装

提供されたサンプルを使用してAPI呼び出しをアプリケーションに統合します。
フロントエンドコードやクライアントサイドリクエストでAPIキーを公開しないでセキュリティを維持するため、必ずバックエンドからDify APIを呼び出してください。

APIセキュリティ

認証情報管理:
  • 開発、ステージング、本番環境で別々のAPIキーを作成
  • キーを定期的にローテーションし、未使用の認証情報を取り消し
  • API使用量を監視して異常なアクティビティを検出
ベストプラクティス:
  • バックエンドでAPIキーを環境変数として保存
  • 過度な使用を防ぐため、自分の側でレート制限を実装
  • Dify APIに転送する前にリクエスト検証を追加
  • デバッグと監視のためにAPI呼び出しをログに記録

テキスト生成アプリケーション

これらのアプリケーションは、completion-messages APIを呼び出し、ユーザー入力を送信して生成されたテキスト結果を取得することで、記事、要約、翻訳などの高品質なテキストを生成するために使用されます。テキスト生成に使用されるモデルパラメーターとプロンプトテンプレートは、開発者がDifyプロンプト編集ページで行った設定に依存します。 このアプリケーションのAPIドキュメントとリクエストサンプルは、アプリケーション -> APIアクセスで確認できます。 例えば、以下はテキスト生成APIを呼び出すサンプルです:
  • cURL
  • Python
curl --location --request POST 'https://api.dify.ai/v1/completion-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"response_mode": "streaming",
"user": "abc-123"
}'

対話型アプリケーション

対話型アプリケーションは、質問と回答形式を通じてユーザーとの継続的な対話を促進します。対話を開始するには、chat-messages APIを呼び出します。各セッションに対してconversation_idが生成され、対話の流れを維持するために後続のAPI呼び出しに含める必要があります。
重要な注意事項: サービスAPIは、WebAppで作成された対話を共有しません。APIを通じて作成された対話は、WebAppインターフェースで作成されたものから分離されています。

conversation_idの重要な考慮事項:

  • conversation_idの生成: 新しい対話を開始するときは、conversation_idフィールドを空にしてください。システムが新しいconversation_idを生成して返すので、今後の対話を継続するためにこれを使用します。
  • 既存セッションでのconversation_idの処理: conversation_idが生成されたら、将来のAPI呼び出しでDifyボットとの対話の継続性を確保するためにこのconversation_idを含める必要があります。以は無視されます。進行中の対話ではquery`のみが処理されます。
  • 動的変数の管理: セッション中にロジックや変数を変更する必要がある場合、会話変数(セッション固有の変数)を使用してボットの動作や応答を調整できます。
このアプリケーションのAPIドキュメントとリクエストサンプルは、アプリケーション -> APIアクセスでアクセスできます。 以下はchat-messages APIを呼び出すサンプルです:
  • cURL
  • Python
curl --location --request POST 'https://api.dify.ai/v1/chat-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"query": "eh",
"response_mode": "streaming",
"conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276",
"user": "abc-123"
}'