OceanBaseはV4.3.3バージョンからベクトル型データの格納、ベクトルインデックス、そしてembeddingベクトル検索機能をサポートしています。これにより、ベクトル化したデータをOceanBaseに保存し、次の検索処理で利用できるようになりました。
Difyは、オープンソースの大規模言語モデル(LLM)アプリケーション開発プラットフォームです。バックエンド・アズ・ア・サービス(Backend as a Service)とLLMOpsの理念を融合し、開発者が本番レベルの生成AIアプリケーションを迅速に構築できるようにします。技術者でなくても、AIアプリケーションの定義やデータ運用プロセスに参加できます。
Difyは、LLMアプリケーションを構築するために必要な主要なテクノロジースタックを組み込んでいます。これには、数百のモデルへの対応、直感的なプロンプト・オーケストレーション・インターフェース、高品質なRAGエンジン、堅牢なAgentフレームワーク、柔軟なプロセスオーケストレーションが含まれ、使いやすいインターフェースとAPIも提供されています。これにより、開発者は無駄な作業を繰り返す時間を大幅に節約でき、イノベーションやビジネス要件に集中できます。
本記事では、OceanBase Cloudのベクトル検索機能とDifyを連携させる方法について説明します。
前提条件
- 環境に利用可能なトランザクション型(MySQL)クラスタインスタンスがあります。
テナントの作成を参照してテナントを作成した後、以下の手順を実行してください。
環境に使用可能なMySQLテナント、MySQLデータベース、およびデータベースアカウントが既に存在し、データベースアカウントに読み書き権限が付与されています。作成が必要な場合は、詳細についてはアカウントの作成およびデータベースの作成(MySQLのみ)をご参照ください。
プロジェクト管理者またはインスタンス管理者ロールを持ち、プロジェクト内のインスタンスに対する読み書き操作が可能です。権限がない場合は、組織管理者に連絡して権限の追加を依頼してください。
この連携チュートリアルはDockerコンテナプラットフォーム上で行われます。Dockerコンテナプラットフォームのセットアップが完了していることを確認してください。
Difyのデプロイ
Difyのデプロイについては、Docker Composeデプロイをご参照ください。以下の点を変更してください:
.envファイル内のVECTOR_STORE変数の値をoceanbaseに変更します。docker compose --profile oceanbase up -dを使用してサービスを起動します。
Difyの使用
ステップ1:データベース接続情報を取得する
ドロップダウンリストから、IDに基づいてクラスタインスタンスを選択します。
概要ページに移動します。
接続をクリックし、**接続文字列を取得**を選択します。
ポップアップウィンドウでパブリックネットワークの使用を選択します。
アクセスアドレスを取得し、現在のブラウザIPアドレスを追加を選択します。
データベース関連情報を入力し、接続文字列をコピーします。
ステップ2:大規模言語モデルへのアクセス
Difyを使用して大規模言語モデルにアクセスする場合は、大規模言語モデルへのアクセスをご参照ください。