本文介紹了使用Row-oriented AI內建平台模型的操作步驟。
目前支援的內建平台模型資訊如下:
函數名稱 | 模型名稱 | .so檔案 | 傳回型別 | 描述 |
polarchat | builtin_polarchat | #ailib#_builtin_polarchat.so | STRING | 基於大語言模型的互動式問答函數。 |
polarzixun | builtin_polarzixun | #ailib#_builtin_polarzixun.so | STRING | 基於Retrieval+大語言模型的諮詢函數。 |
qwen | builtin_qwen | #ailib#_builtin_qwen.so | STRING | 基於通義千問的大模型函數。 |
步驟1:開啟PolarDB for AI功能和冷資料歸檔功能
您需要在目的地組群上開啟PolarDB for AI功能和冷資料歸檔功能,具體的操作步驟請參見開啟PolarDB for AI功能和開啟冷資料歸檔。
步驟2:部署內建平台模型
串連資料庫,並使用以下SQL語句來部署內建平台模型。
/*polar4ai*/ DEPLOY MODEL builtin_model_name WITH (mode = 'in_db');部署完成後,您可以使用SHOW MODEL指令碼來查看模型狀態。部署成功後的狀態為serving,表示內建平台模型部署完畢。
/*polar4ai*/ SHOW MODEL builtin_model_name;builtin_model_name需要修改為內建平台模型名稱。mode參數需要設定為in_db。部署內建平台模型可能需要一段時間,您需要等待模型狀態變為serving後,後續操作才會生效。
步驟3:建立函數
該步驟需要使用高許可權帳號才能執行,或使用高許可權帳號為普通帳號開通mysql.func系統資料表許可權後才能執行。高許可權帳號通過MySQL用戶端為普通帳號開通許可權的具體操作方法如下:
-- root login:
mysql> grant insert on mysql.* to 'normal'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> grant delete on mysql.* to 'normal'@'localhost';
Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)
mysql> select * from mysql.func;
Empty set (0.00 sec)
-- normal login:
mysql> select myfunc_int(1);
ERROR 1046 (3D000): No database selected
mysql> select * from mysql.func;
ERROR 1142 (42000): SELECT command denied to user 'normal'@'localhost' for table 'func'
mysql> create function myfunc_int returns int soname 'udf_example.so';
Query OK, 0 rows affected (0.01 sec)
mysql> select myfunc_int(1);
+---------------+
| myfunc_int(1) |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
mysql> drop function myfunc_int;
Query OK, 0 rows affected (0.00 sec)您可以使用步驟2產生的UDF(.so檔案)來建立函數。
CREATE FUNCTION function_name RETURNS return_value SONAME "soname";參數說明如下:
參數名稱 | 參數說明 |
function_name | 內建函數名稱。內建函數名稱是預先定義好的,需使用與步驟2中模型名稱對應的函數名稱。 |
return_value | 傳回值。目前支援REAL、STRING和INTEGER三種傳回值類型。 |
soname | .so檔案。需使用與步驟2中模型名稱對應的.so檔案名稱。 |
函數建立成功後,您可以通過查詢系統資料表來確認函數是否建立成功。
SELECT * FROM mysql.func;步驟4:調用函數進行模型推理
您可以使用以下SQL語句來調用函數進行模型推理。
SELECT function_name(feature1, feature2) from predict_table;
SELECT function_name("content");參數說明如下:
參數名稱 | 參數說明 |
function_name | 函數名稱。 |
feature1 | 模型推理使用的列名。 |
feature2 | 模型推理使用的列名。 |
predict_table | 進行模型推理的表名。 |
content | 模型推理輸入資訊。 |