Open3

Difyドキュメントを読む

webdevwebdev

モデルについて

https://docs.dify.ai/v/ja-jp/guides/model-configuration
DifyとOpenAI Assistants APIとの差別化ポイント:

https://dify.ai/blog/dify-ai-unveils-ai-agent-creating-gpts-and-assistants-with-various-llms

  • Difyは多様なLLMをサポートしていて、オープンソース。
  • 用途に応じて、検索、画像生成、データ分析…など様々なツールを直感的に組み合わせたエージェントを作成できる。

DifyはLLMを利用したAIアプリケーション開発プラットフォーム:

  • 「モデル」は、開発で使用するLLMのこと。
    • 例)OpenAIのGPTシリーズ、AnthropicのClaudeシリーズ…など。
  • マニュアルは、モデルを提供している企業や組織を「モデルプロバイダー」と呼んでいる。
    • 例)OpenAI、Anthropic、Hugging Face…など。
  • 使い心地を試せるよう、OpenAIの一部モデルを試用できる
    • GPT3.5-turboGPT3.5-turbo-16ktext-davinci-003を、呼び出し200回まで試用可能。
    • 試用枠が尽きる前に、自分が契約したモデルプロバイダーで発行したAPIキーを設定すると引き続き利用できる。
  • Difyでは、モデルを機能や用途でタイプ分けしている
    • **システム推論モデル:**アプリケーション内での一般的な処理に使用。文章を「理解」したり「生成」したり
    • **埋め込みモデル:**文章や単語を数値ベクトルに変換する。関連情報を効率的に導き出すための働きをする。
    • **リランクモデル:**検索強化。通常の検索結果を関連性に基づいて再分析し精緻化した結果を返せるよう加工する。
    • **音声からテキストへのモデル:**対話型アプリケーションで音声をテキストに変換。

モデルプロバイダーの設定:

  • 設定 > モデルプロバイダーからデフォルトモデルや接続モデルを設定できる。
  • 初期ではOpenAI(GPTシリーズ)とAnthropic(Claudeシリーズ)が選んである状態。AzureやOllamaなど追加の選択肢も30以上ある。
  • APIキーを設定できるなら、ホストタイプのモデルを追加できるようになっている。

新しいモデルプロバイダーの追加

  • カスタマイズしたモデルプロバイダーを追加することも可能
webdevwebdev

構造

https://docs.dify.ai/v/ja-jp/guides/application_orchestrate

https://manabinoba.blog/dify-thorough-explanation/#toc2

Difyにおける「アプリケーション」の定義

  • GPTなどの大規模言語モデル(LLM)を基に構築された実際のシナリオアプリケーションを指す。
    • カスタマーサポート
    • ブログ記事や商品説明文を作成する
    • データ分析
    • etc…
  • 特定のニーズに応じたAI技術の適用を可能にする。
    • 機能や用途ごとにモデルを使い分ける
  • AIアプリケーション開発のための方法論と具体的な成果物の両方を含む。
    • プロンプト
    • コンテキスト
    • ログ分析
    • フィードバック

アプリケーションが提供する機能

  1. 使いやすいAPI
    • トークン認証を使用
    • バックエンドやフロントエンドから直接呼び出し可能
  2. ホスティング済みWebApp
    • すぐに使える美しいデザイン
    • テンプレートを使用して二次開発可能
  3. 開発支援ツール
    • プロンプトエンジニアリング
    • コンテキスト管理
    • ログ分析
    • 注釈機能
    • 使いやすいインターフェース

これらの機能は、個別に選択することも、全て利用することも可能。

Difyが提供する4つのアプリケーションタイプ

  1. チャットアシスタント

    • LLMを基にした対話型インタラクションツール
    • カスタマーサービス、オンライン教育、ヘルスケア、金融サービスなどの分野で利用想定
  2. テキスト生成

    • ストーリー執筆、テキスト分類、翻訳などのタスクに特化
    • ニュースメディア、広告、SEO、マーケティングなど、大量のテキスト作成を必要とする場面で役立つ
    • 例:記事執筆
      スクリーンショット
  3. エージェント

    • タスクの分解、推論、ツール呼び出しが可能な高度な対話型アシスタント
    • 財務報告書の分析、報告書の作成、ロゴのデザイン、旅行計画の編成などのサポート
  4. ワークフロー

    • プロセスオーケストレーションに基づく柔軟なLLMワークフローの定義が可能
    • 細かい設定ができる作業手順を使って、高品質のテキストを生成するアプリを構築することができる
webdevwebdev

ワークフロー(導入部分)

https://docs.dify.ai/v/ja-jp/guides/workflow

ワークフローの種類:

  • チャットフロー型とワーウフロー型がある。
  • チャット … 対話で進行。カスタマーサービスや問診など。
  • ワークフロー … 自動化やパッチ処理むけ。翻訳、データ分析、コンテンツ生成など。
    • Difyではフローチャートのような、ステップをつなぎ合わせる直感的なUIが提供されている。

ワークフローの特性:

  • 細かいステップへ分解して進行するので、複雑な内容をシンプルに置換えて実行できる。
  • このほうが部分改修や不具合の対策などのメンテナンス性が高くなる。
  • ユースケース例
    • カスタマーサポート
    • コンテンツ作成
    • タスク自動化
    • データ分析とレポート
    • メール自動化処理

始め方:

  • ワークフローの用語

    • ノード … つなぎ合わせる一つ一つの動作カード
    • 変数 … ノードにわたすパラメータ
    • 環境変数 … APIキーやパスワードなど

    気になった点

    • リリースするサービスへ、このワークフローを組み込むイメージがまだできていない
      • 料金の目安を計測をしたいときは、つなぎ込むモデルプロバイダーに備え付けてあるトークン利用量の監視ツールなどで目星をつけられる。
      • たとえばOpenAIは、アカウント作成時に無料トークンを付与され、APIキー単位で消費したトークンを管理画面から確認できるため、その消費ペースを目安に運用時のトークン消費ペースをアバウトに試算できる
      • DifyはLLMを利用したAIアプリケーション開発プラットフォーム:
  • Difyの料金プラン

    • 構築できるアプリの数、チームメンバーの上限、その他機能の違いが主。