全部產品
Search
文件中心

PolarDB:內建平台模型使用說明

更新時間:Jul 06, 2024

本文介紹了使用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

模型推理輸入資訊。