OB Cloudは、AI Functionの組み込みモデルを提供しています。これを有効にすると、OceanBaseデータベースのAI Functionおよびハイブリッド検索機能を利用できるようになります。この記事では、AI Functionの組み込みモデルを有効にする方法について説明します。
背景
OceanBaseデータベースはV4.4.1バージョンでAI Functionとハイブリッド検索機能を実装しました。OB Cloud公式ウェブサイトまたはAlibaba Cloud Marketplaceから作成したインスタンスであれば、この機能を利用できます。
AI Function:AI FunctionはSQL式を通じてAIモデルの能力をデータベース内のデータ処理に直接統合します。これにより、AI大規模言語モデルを用いたデータの抽出、分析、要約、保存などの操作が大幅に簡素化され、現在のデータベースおよびデータウェアハウス分野における重要な新機能です。MySQLモードでは、OceanBaseデータベースはDBMS_AI_SERVICEパッケージを通じてAIモデルとエンドポイントの管理を提供し、いくつかの組み込みAI関数式を追加し、ビューを通じてAIモデルの呼び出し状況を監視することもサポートしています。詳細については、AI関数サービスの使用と例に関するドキュメントをご参照ください。
ハイブリッド検索:ハイブリッド検索(Hybrid Search)は、ベクトルベースの意味検索と全文インデックスベースのキーワード検索を組み合わせ、総合的なランキングによってより正確で包括的な検索結果を提供します。ベクトル検索は意味的類似性のマッチングに長けていますが、正確なキーワード、数字、固有名詞などへのマッチング能力は弱い一方で、全文検索はこの欠点を効果的に補完できます。そのため、ハイブリッド検索はベクトルデータベースの重要な機能の一つとなり、さまざまな製品で広く利用されています。OceanBaseは、自身の全文およびベクトルインデックス機能を統合することで、効率的なハイブリッドクエリを実現しています。詳細については、ベクトルインデックスのハイブリッド検索に関するドキュメントをご参照ください。
前提条件
OB Cloud公式ウェブサイトまたはAlibaba Cloud Marketplaceから作成したインスタンスであること。現在この機能はホワイトリスト制で開放されています。利用を希望する場合は、テクニカルサポートにお問い合わせください。
データベースがV4.4.1以降のバージョンであること。
ストレージアーキテクチャが存算一体であること。
プロジェクトオーナー、プロジェクト管理者、インスタンス管理者の権限を保有していること。
以下の手順を参考に、ユーザーに
ACCESS AI MODEL権限を追加してください。詳細については、アカウントの作成と管理をご参照ください。OB Cloudデータベースコンソールにログインします。
**インスタンス**ページで、インスタンス名の左側にある展開ボタンをクリックし、対象テナント名をクリックします。
左側のナビゲーションペインで**アクセス管理**をクリックし、アカウント画面に進みます。
対象アカウントの操作列アイコンをクリックし、**権限を更新**を選択し、グローバル権限のドロップダウンリストから
ACCESS AI MODELを選択します。ポップアップウィンドウで権限を変更し、**変更する**をクリックします。
操作手順
OB Cloudデータベースコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象インスタンスを選択し、インスタンス名をクリックして**概要**に入ります。
左側のナビゲーションペインで、**テナント**をクリックします。
テナント管理リストで対象テナントをクリックすると、**テナントワークベンチ**ページに入ります。
AI Functionの組み込みモデルの下の**有効にする**をクリックします。
説明
組み込みモデルとトークンの上限はそれぞれ以下の通りです:
- OB_Complete (qwen-plus): 7000万/月
- OB_Embed (text-embedding-v3): 6000万/月
- OB_Rerank (gte-rerank-v2): 6000万/月
AI Function 組み込みモデル の下の 閉じる をクリックすると、AI Function機能を無効にできます。
組み込みAIモデルの使用方法
AI Functionの組み込みモデルを有効にすると、SQL文から直接組み込みのAIモデルを呼び出すことができます。以下に3つのモデルの使用方法を紹介します:
テキスト補完
AI_COMPLETE関数を使用してOB_Completeモデルを呼び出し、テキストの補完や対話を行います。この関数は、モデル名とプロンプトテキストをパラメータとして受け取ります。SELECT AI_COMPLETE("ob_complete","あなたは誰ですか") AS ans;詳細な使用例とパラメータの説明については、AI関数サービスの使用と例に関するドキュメントをご参照ください。
テキストのベクトル化
AI_EMBED関数を使用してOB_Embedモデルを呼び出し、テキストをベクトル表現に変換します。この関数は、モデル名とベクトル化するテキストをパラメータとして受け取り、テキストのベクトル埋め込みを返します。SELECT AI_EMBEDDING("ob_embed","人工知能技術の発展") AS embedding;ベクトル埋め込みは、意味検索や類似度計算などのシナリオで利用できます。詳細な使用例とパラメータの説明については、AI関数サービスの使用と例に関するドキュメントをご参照ください。
結果の再ランキング
AI_RERANK関数を使用してOB_Rerankモデルを呼び出し、検索結果を再ランキングします。この関数は、モデル名、クエリテキスト、候補ドキュメントのリストをパラメータとして受け取り、関連性に基づいてソートされた結果を返します。SELECT AI_RERANK("ob_rerank","Apple",'["apple","banana","fruit","vegetable"]') AS rerank_result;この関数は、混合検索シナリオで一般的に使用され、ベクトル検索と全文検索の結果を組み合わせて最適化された順序で並べ替えます。詳細な使用例とパラメータの説明については、AI関数サービスの使用と例およびベクトルインデックスの混合検索に関するドキュメントをご参照ください。