You need to enable JavaScript to run this app.
文档中心
AI 原生 BaaS 平台 Supabase 版

AI 原生 BaaS 平台 Supabase 版

复制全文
下载 pdf
AI Function 智能处理(rds_ai)
语义分类(ai_classify)
复制全文
下载 pdf
语义分类(ai_classify)
  1. 定义​
rds_ai.ai_classify 使用 chat/LLM 模型把输入文本分类到调用者提供的标签集合,并以固定 JSONB 信封返回结果。​
  1. 语法​
​
rds_ai.ai_classify(​
content text,​
labels jsonb,​
options jsonb DEFAULT '{}'::jsonb,​
model_name text DEFAULT NULL,​
model_args jsonb DEFAULT '{}'::jsonb​
) RETURNS jsonb​
​
  1. 参数​
​
参数​
类型​
默认值​
说明​
content​
text​
无​
待分类文本;不得为 SQL NULL 或空白文本。​
labels​
jsonb​
无​
2~500 个标签。可传字符串数组,或“标签名 → 描述”的对象;标签名 1~100 个字符,描述最多 1000 个字符。​
options​
jsonb​
{}​
闭合控制对象,只支持下表所列键。​
model_name​
text​
SQL NULL​
chat/LLM 模型;NULL 时使用 ai_query 默认模型。​
model_args​
jsonb​
{}​
传给模型请求体的开放参数对象。​
​
options 键​
​
键​
默认值​
说明​
version​
1.0​
当前仅支持字符串 1.0。​
instructions​
空字符串​
附加分类指令。​
multilabel​
false​
是否允许返回多个标签。​
enableConfidenceScores​
false​
是否要求每个标签返回 confidence_score。​
enableRationales​
false​
是否要求每个标签返回 rationale。​
​
布尔选项必须使用 JSON 布尔值 true/false,不能使用字符串 "true"/"false"。​
  1. 返回​
返回固定 JSONB 信封:response 是分类结果数组;metadata.version 当前为 1.0;error_message 成功时为 JSON null。单标签模式返回恰好一个元素,多标签模式返回一个或多个元素;置信度和解释字段仅在对应选项开启时出现。​
​
{​
"response": [​
{​
"value": "positive",​
"confidence_score": 0.92,​
"rationale": "The text expresses approval."​
}​
],​
"metadata": {"version": "1.0"},​
"error_message": null​
}​
​
  1. 错误行为​
  • 输入、标签、选项或模型参数不合法,出现未知选项,或布尔选项类型错误时立即抛出参数错误。​
  • 默认/显式模型不存在或类型不兼容,以及普通 HTTP/鉴权/超时错误时抛出错误。​
  • 模型返回的不是合法 JSON、标签不在集合内、单/多标签数量不符,或缺少启用的置信度/解释字段时不抛出参数错误,而返回 response: null 和非空 error_message。​
  • 结构化输出能力被模型拒绝时返回错误信封;若由扩展自动注入,会提示关闭 rds.ai_auto_structured_output 后重试。​
  • 资源不足或响应大小超限等资源类错误仍会直接抛出。​
  1. 示例​
  • 带置信度和解释的单标签分类​
​
SELECT rds_ai.ai_classify(​
'classify detailed',​
'{"positive":"favorable","negative":"unfavorable"}'::jsonb,​
'{"instructions":"prefer sentiment","enableConfidenceScores":true,"enableRationales":true}'::jsonb,​
'Doc-Semantic-Chat'​
);​
​
  • 多标签分类​
​
SELECT rds_ai.ai_classify(​
'classify multiple',​
'["positive","negative"]'::jsonb,​
'{"multilabel":true}'::jsonb,​
'Doc-Semantic-Chat'​
);​
​
  1. 提示优化建议​
分类质量主要取决于标签集与标签描述的清晰度。遵循以下原则可提升准确率并减少歧义:​
  • 标签语义互斥、边界清晰:避免含义重叠的标签,让每条输入尽量只落到一个明确类别。​
  • 为标签补充描述:用"标签名 → 描述"对象形式说明每个标签的判定标准与典型场景,而不是只给标签名。​
  • 覆盖兜底/离群情况:为不属于任何目标类别的输入准备一个显式的“其他/无关”标签,避免模型被迫误分。​
  • 按需选模式:一条输入可属于多个类别时才开 multilabel;需要下游过滤或人工复核时开 enableConfidenceScores / enableRationales。​
  • 用 instructions 表达取向:把优先判定倾向(如“优先判断情感极性”)写进 instructions,减少边界样本的抖动。​
  1. 质量指标​
基于公开评测集(QMSum、WikiLingua EN/ZH)的基准测试结果:​
​
质量维度​
指标​
结果​
可用性​
有效输出率​
100%​
正确性​
单标签准确率​
81.61%–92.00%​
稳定性​
单标签宏准确率​
80.72%–92.00%​
完整性​
CLINC150 OOS 召回率​
91.89%​
​
​
最近更新时间:2026.10.21 12:50:08
这个页面对您有帮助吗?
有用
有用
无用
无用