
# AI特性函数
- gs_index_advise(text) 描述：针对单条查询语句推荐索引。
  参数：SQL语句字符串
  返回值类型：record
  示例请参见《特性指南》的"Index-advisor：索引推荐 \> 单query索引推荐"章节。
  
- hypopg_create_index(text, \[text\]) 描述：创建虚拟索引。
  参数：创建索引语句的字符串，创建的虚拟索引的级别（可选）
  返回值类型：record
  示例请参见《特性指南》的"Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_display_index(\[text\]) 描述：显示所有创建的虚拟索引信息。
  参数：显示的虚拟索引级别（可选）
  返回值类型：record
  示例请参见《特性指南》的" Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_drop_index(oid) 描述：删除指定的虚拟索引。
  参数：索引的oid
  返回值类型：bool
  示例请参见《特性指南》的"Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_reset_index(\[text\]) 描述：清除所有虚拟索引。
  参数：清除的虚拟索引级别（可选）
  返回值类型：无
  示例请参见《特性指南》的"Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_estimate_size(oid) 描述：估计指定索引创建所需的空间大小。
  参数：索引的oid
  返回值类型：int8
  示例请参见《特性指南》的"Index-advisor：索引推荐 \> 虚拟索引"章节。
  

- db4ai_predict_by_bool (text, VARIADIC "any") 描述：获取返回值为布尔型的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：bool
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_float4(text, VARIADIC "any") 描述：获取返回值为float4的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：float
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_float8(text, VARIADIC "any") 描述：获取返回值为float8的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：float
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_int32(text, VARIADIC "any") 描述：获取返回值为int32的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：int
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_int64(text, VARIADIC "any") 描述：获取返回值为int64的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：int
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_numeric(text, VARIADIC "any") 描述：获取返回值为numeric的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：numeric
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_text(text, VARIADIC "any") 描述：获取返回值为字符型的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：text
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- db4ai_predict_by_float8_array(text, VARIADIC "any") 描述：获取返回值为字符型的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：text
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，不建议用户直接使用。
  
- gs_explain_model(text) 描述：获取返回值为字符型的模型进行模型解析文本化任务。
  参数：模型名称。
  返回值类型：text
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数为内部调用函数，该函数当前版本不可用。
  
- gs_ai_stats_explain(text, text\[\]) 描述：打印当前节点上的对应表和列上的多列智能统计信息。
  参数：表名称和列名集合。
  返回值类型：text
  示例：
  ```
  gaussdb=# SET enable_ai_stats=1;
  gaussdb=# drop table db4ai_bayesnet;
  gaussdb=# create table db4ai_bayesnet(attr1 VARCHAR(256), attr2 VARCHAR(256));
  gaussdb=# INSERT INTO db4ai_bayesnet SELECT 'x','x' FROM generate_series(1, 10000) AS s(i);
  gaussdb=# ANALYZE db4ai_bayesnet((attr1,attr2));
  gaussdb=# select gs_ai_stats_explain('db4ai_bayesnet', ARRAY['attr1', 'attr2']);
  ```
  
- ai_watchdog_detection_warnings() 描述：获取AI Watchdog的风险告警信息。
  参数：无。
  返回值类型：record
  示例：
  ```
  gaussdb=# select * from ai_watchdog_detection_warnings();
  ```
  
- ai_watchdog_monitor_status(int) 描述：获取AI Watchdog的监控信息。
  参数：返回监控序列的长度上限，取值范围为(0,100)，默认值为10。
  返回值类型：record
  示例：
  ```
  gaussdb=# select * from ai_watchdog_monitor_status();
  ```
  
- ai_watchdog_parameters() 描述：获取AI Watchdog的内部参数或状态信息。
  参数：无。
  返回值类型：record
  示例：
  ```
  gaussdb=# select * from ai_watchdog_parameters();
  ```
  
 
