
# AI特性函数
- gs_index_advise(text) 描述：针对单条查询语句推荐索引。
  参数：SQL语句字符串
  返回值类型：record
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 单query索引推荐"章节。
  
- hypopg_create_index(text, \[text\]) 描述：创建虚拟索引。
  参数：创建索引语句的字符串，创建的虚拟索引的级别（可选）
  返回值类型：record
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_display_index(\[text\]) 描述：显示所有创建的虚拟索引信息。
  参数：显示的虚拟索引级别（可选）
  返回值类型：record
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_drop_index(oid) 描述：删除指定的虚拟索引。
  参数：索引的oid
  返回值类型：bool
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_reset_index(\[text\]) 描述：清除所有虚拟索引。
  参数：清除的虚拟索引级别（可选）
  返回值类型：无
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- hypopg_estimate_size(oid) 描述：估计指定索引创建所需的空间大小。
  参数：索引的oid
  返回值类型：int8
  示例请参见《特性指南》的"DBMind: 数据库自治运维 \> DBMind的AI子功能 \> Index-advisor：索引推荐 \> 虚拟索引"章节。
  
- check_engine_status(ip text, port text) 描述：测试给定的ip和port上是否有predictor engine提供服务。
  参数：predictor engine的ip地址和端口号。
  返回值类型：text
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  该函数当前版本不可用。
  
- encode_plan_node(optname text, orientation text, strategy text, options text, dop int8, quals text, projection text) 描述：对入参的计划算子信息进行编码。
  参数：计划算子信息。
  返回值类型：text。
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  该函数为内部功能调用函数，不建议用户直接使用。
  
- model_train_opt(template text, model text) 描述：训练给定的查询性能预测模型。
  参数：性能预测模型的模板名和模型名。
  返回值类型：tartup_time_accuracy FLOAT8, total_time_accuracy FLOAT8, rows_accuracy FLOAT8, peak_memory_accuracy FLOAT8
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  该函数当前版本不可用。
  
- track_model_train_opt(ip text, port text) 描述：返回给定ip和port predictor engine的训练日志地址。
  参数：predictor engine的ip地址和端口号。
  返回值类型：text
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  该函数当前版本不可用。
  
- encode_feature_perf_hist(datname text) 描述：将目标数据库已收集的历史计划算子进行编码。
  参数：数据库名。
  返回值类型：queryid bigint, plan_node_id int, parent_node_id int, left_child_id int, right_child_id int, encode text, startup_time bigint, total_time bigint, rows bigint, peak_memory int
  
- gather_encoding_info(datname text) 描述：调用encode_feature_perf_hist，将编码好的数据进行持久化保存。
  参数：数据库名。
  返回值类型：int
  
- db4ai_predict_by_bool (text, VARIADIC "any") 描述：获取返回值为布尔型的模型进行模型推断任务。此函数为内部调用函数，建议直接使用语法PREDICT BY进行推断任务。
  参数：模型名称和推断任务的输入列。
  返回值类型：bool
  ![](https://support.huaweicloud.com/centralized-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/centralized-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/centralized-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/centralized-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/centralized-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/centralized-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/centralized-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/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  不建议用户直接使用。
  
- gs_explain_model(text) 描述：获取返回值为字符型的模型进行模型解析文本化任务。
  参数：模型名称。
  返回值类型：text
  
- 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();
  ```
  
 
