LLM界隈で話題のDifyですが、現時点(2024年5月20日)の限界とそれに対する対策及びLLM開発プラットフォームとしての優位点をシェアいたします。
1.限界
(1)Pythonのサポートライブラリ
Difyでは、ワークフローにPythonコードを直接組み込むことができます。但し、現時点ではPythonの標準ライブラリしかサポートされません。そのため、外部ライブラリを使った業務機能の組み込みができません。これは、ワークフローの機能としては致命的とも言えます。
【解決策】
ワークフローに組み込みたいPythonのアプリ機能を適切にモジュール化し、WebサービスとしてAPI公開します。ワークフローでは、このAPIコールを組み合わせることで、バッチフローが実現できます。
(2)RAGのチャンクサイズ
Difyでは、RAGのメカニズムを強力にサポートしています。但し、現時点では、RAGのチャンクサイズに上限(1,000文字)が設けられており、例えば、社内規定の章や節など、任意の単位でチャンクさせたい場合、対応できない場合があります。また、機械的にチャンキングされるため、文脈が分断される可能性があります。
【解決策】
意図する単位に入力元のテキストファイルを分割することで、ある程度文脈の分断を防止できます。また、チャンク間のオーバーラップを適切な文字数に調整することで、検索精度を改善できます。
2.優位点
LLMを活用した、エンタープライズ分野の業務効率化のユースケースとして、RAGを活用した社内文章へのQ&Aは非常に需要が高い領域となっています。
Difyは、強力なRAGのメカニズムを備えており、時にベクトルDBの検索結果のRerankingにより、驚くほどの検索精度を実現してくれます。
現時点ではこのReranking専用のLLMはごく限られたベンダ(Cohere,JIna,Nvidiaなど)からのみリリースされているため、例えば、Azure Open AIとAzure AI Searchの組み合わせでは、Dityには敵わないということになります。 具体的には、マイクロソフトのセキュアな環境でDifyと同様の検索精度を得たい場合、マイクロソフトはRerankingのLLMモデルを提供できていないことから、AzureがサポートするRerankingモデルの拡充を待たねばならない、という致命的な状況となっている、ということです。
これは、LLMプラットフォームを提供するITベンダの競争優位性としては、非常に高い差別化要素であり、OSSベースのDifyが本質的に持つ、優位性であると思われます。