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関数サービスの使用と例およびベクトルインデックスのハイブリッド検索をご参照ください。