AI_FIX_GRAMMAR

概述

AI_FIX_GRAMMAR
AI_FIX_GRAMMAR
是云器 Lakehouse 提供的 AI 语法修正函数,可自动修复输入文本中的语法、拼写和标点错误。支持中文、英文、日文、法语等多语言,还能智能统一中英混合文本的语言。若输入文本无语法错误,函数返回原文不变。一行 SQL 即可完成文本纠错。

云器将 AI 计算下沉至存储层与执行引擎,数据在平台内部即可完成智能处理,无需流转至外部环境,在保障数据安全的同时大幅降低任务延迟。

语法

AI_FIX_GRAMMAR( <model>, <content> )

参数说明

必需参数

model
model

指定用于语法修正的模型,支持两种来源:

来源一:API Gateway Endpoint(推荐)

平台管理员在 API Gateway 中预先配置模型服务,普通用户通过

endpoint:
endpoint:
前缀引用,无需关心底层连接细节。

'endpoint:<endpoint名称>' -- 示例 'endpoint:qwen3-max-preview' 'endpoint:qwen3.5-plus'

来源二:API Connection 连接对象

用户通过

CREATE API CONNECTION
CREATE API CONNECTION
自行创建连接对象,适用于需要自定义服务地址、认证密钥或对接私有化部署模型的场景。

-- 创建连接对象 CREATE API CONNECTION conn_bailian TYPE ai_function PROVIDER = 'bailian' BASE_URL = 'https://dashscope.aliyuncs.com/api/v1' API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxx'; -- 引用时使用 <连接名称>:<模型名称> 格式 SELECT AI_FIX_GRAMMAR('conn_bailian:qwen3.5-plus', 'He dont know what to did.');

CREATE API CONNECTION
CREATE API CONNECTION
各字段说明:

字段说明
TYPE
TYPE
固定为
ai_function
ai_function
PROVIDER
PROVIDER
模型供应商标识,如
'bailian'
'bailian'
'openai'
'openai'
'anthropic'
'anthropic'
BASE_URL
BASE_URL
模型服务的 API 基础地址
API_KEY
API_KEY
调用服务所需的认证密钥

content
content

需要修复语法的输入文本,类型为 STRING(支持 CHAR/VARCHAR/STRING)。支持中文、英文、日文、法语等多种语言,无需手动指定语言,模型自动识别。

返回值

STRING 类型,修正后的文本内容。若输入文本无语法错误,返回原文不变。

错误行为

默认情况下,若函数无法处理输入,返回

NULL
NULL
,不报错。在多行查询中,出错的行返回
NULL
NULL
,不影响其他行的正常执行。

使用说明

  • NULL 返回 NULL,空字符串返回空字符串
    content
    content
    NULL
    NULL
    时返回
    NULL
    NULL
    content
    content
    为空字符串
    ''
    ''
    时返回空字符串
    ''
    ''
    ,不报错。纯空白字符(如
    '   '
    ' '
    )会被发送给模型处理,通常返回空字符串。
  • 无错误文本不会被修改:若输入文本语法正确,函数返回原文,不产生不必要的改动。
  • 先过滤再修正:对大表使用时,建议先用
    WHERE content IS NOT NULL AND LENGTH(content) > 0
    WHERE content IS NOT NULL AND LENGTH(content) > 0
    过滤空值和空字符串,减少不必要的模型调用。
  • 注意语义保持:AI_FIX_GRAMMAR 以修正语法为目标,但在极少数情况下(如原文存在逻辑矛盾),模型可能会修改语义。对语义敏感的场景,建议人工抽检修正结果。
  • 中英混合文本统一:对于中英混合的用户生成内容,AI_FIX_GRAMMAR 会智能统一为主要语言,适合内容标准化场景。
  • 与其他 AI 函数配合:建议在 AI_SENTIMENT 或 AI_SUMMARIZE 之前先用 AI_FIX_GRAMMAR 清洗文本,可提升下游分析质量。
  • 结果具有非确定性:基于 LLM 的修正结果可能因模型版本或调用时机略有差异,同一输入多次执行结果可能不同。

示例

基础用法

-- 英文语法修正 SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', 'He dont know what to did.' ) AS fixed; -- 返回:He doesn't know what to do. -- 中文语法修正 SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', '我昨天去了北京,那里的天气很好的很。' ) AS fixed; -- 返回:我昨天去了北京,那里的天气很好。 -- 无错误文本保持不变 SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', 'The quick brown fox jumps over the lazy dog.' ) AS fixed; -- 返回:The quick brown fox jumps over the lazy dog.

多语言

-- 日文(去掉重复过去式) SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', '私は昨日学校に行きましたでした。' ) AS fixed; -- 返回:私は昨日学校に行きました。 -- 法语(修正时态+缩合) SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', 'Je suis allé au magasin et je achète du pain.' ) AS fixed; -- 返回:Je suis allé au magasin et j'ai acheté du pain. -- 中英混合文本智能统一 SELECT AI_FIX_GRAMMAR( 'endpoint:qwen3-max-preview', '这个product的quality真的很good,我very喜欢。' ) AS fixed; -- 返回:这个产品的质量真的很好,我非常喜欢。

语义理解能力

-- 主谓一致 SELECT AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', 'She go to school every days.') AS fixed; -- 返回:She goes to school every day. -- 时态错误 SELECT AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', 'Yesterday I go to the store and buy some food.') AS fixed; -- 返回:Yesterday I went to the store and bought some food. -- 中文词语冗余 SELECT AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', '他大约大概有三十岁左右。') AS fixed; -- 返回:他大约三十岁。 -- 中文成分残缺 SELECT AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', '通过这次活动,使我受到了教育。') AS fixed; -- 返回:这次活动使我受到了教育。

批量处理表数据

SELECT id, original_review, AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', original_review) AS cleaned_review FROM customer_reviews WHERE original_review IS NOT NULL AND LENGTH(original_review) > 0;

与其他 AI 函数配合

-- 先修正语法,再分析情感(避免语法错误干扰情感判断) SELECT id, AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', content) AS fixed_content, AI_SENTIMENT('endpoint:qwen3-max-preview', AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', content) ) AS sentiment FROM feedback WHERE content IS NOT NULL; -- 先修正语法,再生成摘要 SELECT id, AI_SUMMARIZE('endpoint:qwen3-max-preview', AI_FIX_GRAMMAR('endpoint:qwen3-max-preview', content), 30 ) AS summary FROM articles WHERE content IS NOT NULL;

限制说明

  • model 参数必填:省略 model 参数会报错
    AI function must have at least two arguments
    AI function must have at least two arguments
  • model 格式错误会报错:model 必须使用
    'endpoint:<名称>'
    'endpoint:<名称>'
    '<连接名称>:<模型名称>'
    '<连接名称>:<模型名称>'
    格式,格式不符时报错
    Invalid model coordinates
    Invalid model coordinates
  • 修正范围:以语法、拼写、标点修正为主,不保证修正所有搭配不当问题。
  • 语义保持:极少数情况下(原文存在逻辑矛盾时)可能修改语义,建议对语义敏感场景进行人工抽检。
  • 输入长度受模型限制:输入文本长度受底层模型 context window 限制,超长文本可能被截断处理。
  • 模型依赖:需要 AI Gateway 中已配置可用的 Endpoint,具体可用 Endpoint 请咨询平台管理员,或在 Lakehouse Studio → AI → 模型管理 中查看。
联系我们
预约咨询
微信咨询
电话咨询