話題のLLMOpsのオープンソースプロジェクトDifyについて調べてみた。

目次

Difyとは?

誰でも簡単に大規模言語モデル(LLM)を活用したアプリケーションの開発が可能になる、オープンソースのプラットフォームです。

バックエンドとフロントエンド双方の機能があり、
バックエンド側では、チャットボットの機能開発やRAG(Retrieval Augmented Generationと呼ばれる、文書データベースから関連情報を検索し、その情報を基にテキスト生成を行うフロー)などをチューニング、設定することが可能です。

フロントエンドはNext.js、Typescriptをベースにした、チャットUIが提供されています。

なぜこのツールが注目されているか、深くみていきましょう。

何がすごいのか

複合AI:Compound AI Systems (CAS)と呼ばれるプラットフォーム

Compound AI Systems (CAS)は、複数の特化したAIモデルやツールを統合して、より複雑なAIタスクを効率的に解決するためのシステムです。

このシステムは、それぞれのコンポーネントが特定のタスクに特化させることができるため、システム間で苦手な部分を補いながら、作業を進めることで、全体としてシステムの質を高めることが可能です。

開発プロセス自体へも大きな影響があります。CASの各コンポーネントを必要に応じて入れ替えや強化することで、システム全体を再設計することなく、チューニング、修正が可能です。これにより、さまざまな入力やタスクに対応しやすくなります。また、異なるコンポーネントが冗長性を提供するため、一部のコンポーネントが失敗した場合でも他のコンポーネントが補うことができ、システムの安定性が保たれます​。

複数モデルの検証が可能

複数の言語モデルをAPIで連携することが可能です。

以下のように作ったアプリケーションをリアルタイムに検証することも可能です。

ChatGPTのGPTsとは何が違うのか

GPTsでは単一モデルしか使えない

Difyでは複数モデルの使い分けや、検証が可能になっているので、アプリケーションのタスクに応じて、言語モデルで最適なものを選択して設定することができます。

またワークフロー内でモデルを切り替えることができるので、GPTsでは実現できない複雑なタスクの遂行、エラー発生時のハンドリングなども可能です。

オープンソース

オープンソースプロジェクトなので多くのメリットがあります。

  1. イノベーションの促進: オープンソースプロジェクトは、世界中の開発者が自由にアクセスしてコードに貢献できます。ここの開発者からの新しいアイデアや技術が採用され統合されることもあります。プラットフォーム全体でのイノベーションが期待できます。
  2. カスタマイズと柔軟性: オープンソースソフトウェアは、ソースコードが公開されているため、ユーザーは自分のニーズに合わせてコードを自由にカスタマイズできます。特定の要件やニーズに合わせた機能の追加をユーザー側で行うことができます。
  3. 大規模なコミュニティサポート: オープンソースプロジェクトにはコミュニティがあり、問題解決の支援や知識の共有が行われるので、ドキュメントの充実、バグの修正、機能の改善などを通じてソフトウェアの質が高まっていくことが期待できます。

利用方法について

ドキュメントの取り込み、言語モデルの選択、テストまでを完了すれば、そのままプロジェクトのURLでアプリケーションを公開することも、別で開発しているウェブアプリケーションからAPIを叩くこともできます。

詳しくは次回の記事で実際のアプリケーションに組み込んだ事例を紹介したいと思います。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次