著者:Zhenan Sun(デジタルマーケティング)
DifyはTiDB Vectorをナレッジパイプラインに統合し、分散型のセマンティック検索をサポートします。これにより、知識検索のスピードを高速化するとともに、プロダクションレベルのAIアプリケーション向けにスケーラブルなコンテキスト管理機能を提供します。
このたび、Difyのナレッジパイプラインが高性能な分散ベクトルデータベースであるTiDB Vectorと正式に統合されました。これにより、大規模かつインテリジェントな検索を実現するためのデータ基盤がさらに強化されています。
数週間前にリリースしたナレッジパイプラインは、開発者がモジュール型のRAG(検索拡張生成)ワークフローを構築できるように設計されています。ナレッジの取り込み、解析、埋め込み(テキストを数値ベクトルに変換する処理)などを簡単に行えます。また、TiDB Vectorとの連携により、解析済みのテーブル、抽出したエンティティ、埋め込み済みのテキストなど、処理済みのナレッジをAgent WorkflowやChatflowといった下流のAIアプリケーションでシームレスに再利用できるようになりました。
TiDB Vectorの特徴
TiDB Vectorは統合型の高性能データレイヤーを提供します。これにより、ハイブリッドSQL+ベクトル検索をサポートし、開発者はSQL構文によって構造化メタデータのフィルタリングを行い、その後、セマンティック検索を実施できます。その結果、TiDBの分散アーキテクチャによるエンタープライズレベルのスケーラビリティと高い安定性を維持しながら、コンテキストを考慮した正確な応答を実現します。
TiDB Vectorの設定手順
前提条件
- Difyをローカル環境にデプロイ済みであること
- TiDB Cloudアカウントを作成済みであること
1. TiDB CloudでTiDB Vectorクラスタを作成する
-
TiDB Cloudでクラスタを作成し、必要な情報を設定します。
-
スキーマを初期化します:
create schema dify; -
クラスタの接続情報(HOST、PORT=4000、USER、PASSWORD、DATABASE)を控えておきます。
2. Dify環境設定
docker-compose.yaml内のapiおよびworkerの環境変数を、TiDBクラスタの情報に基づいて設定します。
```yaml
# ベクトルストアにTiDB Vectorを指定
VECTOR_STORE: tidb_vector
# 以下はTiDBクラスタ情報で置き換えてください
TIDB_VECTOR_HOST: gateway01.eu-central-1.prod.aws.tidbcloud.com
TIDB_VECTOR_PORT: 4000
TIDB_VECTOR_USER: <your_user>.root
TIDB_VECTOR_PASSWORD: <your_password>
TIDB_VECTOR_DATABASE: dify
```
3. パイプラインでのデータアップロードおよび処理
Difyのナレッジパイプラインを活用することで、非構造化データの処理からTiDBへの保存までを自動化できます。データの抽出、チャンク分割、埋め込み生成、ベクトル保存などの処理が、設定に応じて自動的に実行されます。
セットアップを容易にするため、すぐに使える複数の処理テンプレートを用意しています。一般的なシナリオ向けに設計された事前構築済みテンプレートを選択するだけで、一般文書の効率的な処理や、長文テクニカルマニュアルに適した階層型(親子)チャンク分割、表形式データからの構造化Q&A抽出などに対応可能です。
ナレッジベース作成とデータアップロードを完了すると、テキストやメタデータ、生成された埋め込みを含む処理済みコンテンツが安全にTiDBに保存されます。
4. RAGアプリケーションワークフロー構築
ナレッジベースが整ったら、それをコンテキストとしてエージェントベースのワークフローを構築できます。TiDB Vectorに蓄積されたデータはKnowledge Node(知識検索ノード)を通じてコンテキスト情報として取得でき、LLM(大規模言語モデル)の推論精度向上に寄与します。
-
Knowledge Retrieval Node(知識検索ノード)
TiDB Vectorをベクトルストレージとして使用する場合、既存のナレッジベースをデータソースとして選択します。ユーザーが質問を送信すると、このノードは自動的に質問をベクトルに変換し、TiDBで類似度検索を実行して最も関連性の高い情報を取得します。 -
LLM Node(LLMノード)
TiDBから取得された情報はLLMノードに渡され、モデルがより正確で、コンテキストを考慮し、実世界のデータに根ざした応答を生成できるようになります。
DifyのビジュアルワークフロービルダーとTiDBの分散ベクトルストレージを組み合わせることで、AIアシスタント、ドキュメントQ&Aシステムやナレッジボットを効率的に設計・導入・スケールできます。このモジュール式かつエンドツーエンドなアプローチによって、RAG開発のあらゆるステップを単一の統合ワークフロー内でスムーズに遂行可能です。
TiDBについて
TiDBはオープンソースの分散SQLデータベースで、企業のデジタルトランスフォーメーションを支援します。分散アーキテクチャにより、多様な業務負荷に対応できるスケーラブルなデータ基盤を実現しています。従来は異なるデータ処理ニーズに複数の技術スタックが必要でしたが、TiDBはリアルタイムHTAP(ハイブリッドトランザクショナル・アナリティカル処理)プラットフォームとしてそれらを統合し、トランザクション処理と分析処理の双方をサポートします。
Difyについて
DifyはAIネイティブなアプリケーション開発を支援するオープンソースプラットフォームです。アプリケーションの作成から運用・管理までを簡単かつ一元的に行えます。拡張性に優れたプラグインエコシステムにより、開発者や企業はAI機能の統合やワークフローのカスタマイズも容易です。AI導入の障壁を低減し、ユーザーがより効率的かつ柔軟にインテリジェントアプリケーションを構築できる環境を提供しています。
公式サイト | GitHub | ドキュメント | X(旧Twitter) | Discord | Linkedin | Youtube



