文档

内置平台模型使用说明

更新时间:

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

模型推理输入信息。