行指向AI には、SQL から直接デプロイおよび呼び出し可能な 3 つのビルトインプラットフォームモデルが含まれます。外部の機械学習(ML)インフラストラクチャを必要としません。本ガイドでは、モデルのデプロイ、SQL 関数の作成、推論クエリの実行手順について説明します。
| 関数 | モデル名 | ファイル名 | 戻り値の型 | 使用タイミング |
|---|---|---|---|---|
| polarchat | builtin_polarchat | #ailib#_builtin_polarchat.so | STRING | 大規模言語モデル(LLM)を活用し、ご利用のデータに対するオープンエンド型の質問応答を実行する場合。 |
| polarzixun | builtin_polarzixun | #ailib#_builtin_polarzixun.so | STRING | 検索拡張型 LLM を活用し、ナレッジベースまたはドキュメントコーパスから情報を取得して回答を生成する場合。 |
| qwen | builtin_qwen | #ailib#_builtin_qwen.so | STRING | 通義千問(Tongyi Qianwen)モデルに基づく、汎用的なテキスト生成および理解タスクを実行する場合。 |
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
ステップ 1:ビルトインプラットフォームモデルのデプロイ
データベースに接続し、以下の文を実行してモデルをデプロイします。
/*polar4ai*/ DEPLOY MODEL builtin_model_name WITH (mode = 'in_db');builtin_model_name を上記の表のモデル名(例: builtin_polarchat)に置き換えます。mode は in_db に設定します。
モデルのデプロイには時間がかかる場合があります。SHOW MODEL を実行してステータスを確認します。
/*polar4ai*/ SHOW MODEL builtin_model_name;ステータスが serving に変更されるまで待ってから、次の手順に進んでください。
ステップ 2:関数の作成
ステップ 1 で生成されたユーザー定義関数(UDF).so ファイルを使用して、SQL 関数を作成します。
CREATE FUNCTION function_name RETURNS return_value SONAME "soname";| パラメーター | 説明 |
|---|---|
function_name | ビルトイン関数の事前定義済み名です。ステップ 1 でデプロイしたモデルに対応する関数名と一致させる必要があります。 |
return_value | 戻り値の型です。サポートされる値: REAL、STRING、INTEGER。 |
soname | .so ファイル名です。ステップ 1 でデプロイしたモデルに対応するファイル名と一致させる必要があります。 |
例として、builtin_polarchat の関数を作成する場合:
CREATE FUNCTION polarchat RETURNS STRING SONAME "#ailib#_builtin_polarchat.so";関数が正しく作成されたかを確認するには、システムテーブルをクエリします。
SELECT * FROM mysql.func;標準アカウントへの権限付与
関数を作成するには、特権アカウントを使用するか、標準アカウントに対して mysql.func システムテーブルに関する必要な権限を付与します。
特権アカウントを使用して、以下の文を実行します。
GRANT INSERT ON mysql.* TO 'normal'@'localhost';
GRANT DELETE ON mysql.* TO 'normal'@'localhost';
FLUSH PRIVILEGES;ステップ 3:モデル推論のための関数呼び出し
SELECT 文を使用して関数を呼び出します。以下の 2 種類の呼び出しパターンがサポートされています。
テーブルをクエリする — 1 つ以上のカラム値を入力として渡す:
SELECT function_name(feature1, feature2) FROM predict_table;文字列を直接渡す — リテラル文字列を入力として使用する:
SELECT function_name("content");| パラメーター | 説明 |
|---|---|
function_name | ステップ 2 で作成した関数名です。 |
feature1、feature2 | 推論に使用するテーブルのカラム名です。 |
predict_table | 推論に使用するテーブルです。 |
content | 入力として直接渡すリテラル文字列です。 |
例として、polarchat を使用して support_tickets テーブルに対してインタラクティブな質問応答を実行する場合:
SELECT polarchat(description) FROM support_tickets LIMIT 10;