AI_TRANSLATE

概述

AI_TRANSLATE
AI_TRANSLATE
是云器 Lakehouse 提供的 AI 翻译函数,可将输入文本从一种语言翻译成另一种指定语言。源语言自动检测,无需手动指定。支持中文、英文、日文、韩文、法语、德语、西班牙语等多种语言互译,一行 SQL 即可完成翻译。


语法

AI_TRANSLATE
AI_TRANSLATE
支持两种调用形式:

-- 使用工作区默认模型(推荐) AI_TRANSLATE(<content>, <to_lang> [, json '{}']) -- 或手动指定连接 AI_TRANSLATE('<connection>:<model>', <content>, <to_lang> [, json '{}'])


参数说明

model(可选)

指定要调用的语言模型。从 2026 年 9 月起,该参数可以省略——模型通过工作区默认模型自动路由,无需在每次调用时显式传入。

省略 model 参数时调用方式最简洁:

SELECT AI_TRANSLATE('Hello', 'zh');

工作区默认模型可通过以下方式配置:

方式一:创建新工作区时开启开关(推荐)

2026 年 9 月起新建的工作区,在创建时打开 "启用 AI Function" 开关,系统将自动配置默认模型,调用时无需传入 model 参数。对于此之前创建的工作区,需通过下方方式手动配置。

方式二:工作区级别 ALTER WORKSPACE 配置

通过

ALTER WORKSPACE
ALTER WORKSPACE
设置工作区默认模型,对所有使用该工作区的 session 生效:

ALTER WORKSPACE <workspace_name> SET PROPERTIES ( 'cz.sql.ai.translate.default.model' = '<connection>:<model>' ); SELECT AI_TRANSLATE('Hello', 'zh');

方式三:会话级 SET 覆盖

在当前会话中临时指定默认模型,优先级高于工作区属性,仅当前 session 生效:

SET cz.sql.ai.translate.default.model=conn_bailian:qwen/qwen3.6-flash; SELECT AI_TRANSLATE('Hello', 'zh');

方式四: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_TRANSLATE('conn_bailian:qwen3.5-plus', 'Hello', 'zh');

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(必需)

待翻译的输入文本,支持 CHAR/VARCHAR/STRING 类型。

to_lang(必需)

目标语言代码,遵循 ISO-639 标准(如

'zh'
'zh'
'en'
'en'
'ja'
'ja'
)。源语言自动检测,无需手动指定。

options(可选)

使用

json '{}'
json '{}'
字面量语法传入,控制输出格式和执行行为:

输出格式控制

参数键类型默认值说明
output.behavior
output.behavior
STRING
formatted_json
formatted_json
输出格式:
formatted_json
formatted_json
/
raw_string
raw_string
/
fail_on_error
fail_on_error

三种输出模式对比:

模式成功输出错误输出适用场景
formatted_json
formatted_json
{"translation":"..."}
{"translation":"..."}
{"translation":"","error_message":"..."}
{"translation":"","error_message":"..."}
生产环境默认,结构化输出便于下游解析
raw_string
raw_string
原始翻译文本NULL兼容旧行为,应急使用
fail_on_error
fail_on_error
原始翻译文本抛异常,整个 job 失败严格模式,不容忍单行错误

output.behavior
output.behavior
输入兼容性(大小写不敏感,
_
_
.
.
-
-
等价):

输入值解析结果
formatted_json
formatted_json
/
formatted.json
formatted.json
/
json
json
FORMATTED_JSON
raw_string
raw_string
/
raw.string
raw.string
/
raw
raw
RAW_STRING
fail_on_error
fail_on_error
/
fail.on.error
fail.on.error
/
fail-on-error
fail-on-error
/
fail
fail
FAIL_ON_ERROR

-- formatted_json(默认) SELECT AI_TRANSLATE('Hello', 'zh', json '{"output.behavior":"formatted_json"}'); -- 结果: {"translation":"你好"} -- raw_string SELECT AI_TRANSLATE('Hello', 'zh', json '{"output.behavior":"raw_string"}'); -- 结果: 你好

运行时参数

参数键类型默认值说明
task.concurrency
task.concurrency
STRING
"1"
"1"
批量处理并发度,上限 128(建议不超过 8)
response.timeout
response.timeout
STRING-单次请求超时时间(秒),如
"60"
"60"

返回值

STRING 类型,包含将原始文本翻译成目标语言后的结果。


错误行为

默认情况下,若

AI_TRANSLATE
AI_TRANSLATE
无法处理输入,函数返回 NULL。

输入情况返回值
content
content
为 NULL
NULL
content
content
为空字符串
''
''
空字符串
''
''
content
content
与目标语言相同
返回原文不变
to_lang
to_lang
为无效语言代码
报错:
Invalid ISO-639 language code: <code>
Invalid ISO-639 language code: <code>
model 格式错误报错:
Invalid model coordinates: '<value>'
Invalid model coordinates: '<value>'
连接对象不存在报错:
No available endpoints found
No available endpoints found
缺少必填参数报错:
AI function must have at least two arguments
AI function must have at least two arguments

使用说明

  • 源语言自动检测 — 无需指定源语言,模型会自动识别输入文本的语言。若源语言代码传入空字符串
    ''
    ''
    ,同样触发自动检测(当前语法不支持传入
    from_lang
    from_lang
    参数)。
  • 使用标准语言代码
    to_lang
    to_lang
    必须为有效的 ISO-639 语言代码(如
    'zh'
    'zh'
    'en'
    'en'
    'ja'
    'ja'
    ),不支持语言全名。
  • 先过滤再翻译 — 对大表使用时,建议先用
    WHERE content IS NOT NULL AND LENGTH(content) > 0
    WHERE content IS NOT NULL AND LENGTH(content) > 0
    过滤,避免不必要的模型调用。
  • 技术术语 — 技术文本翻译质量高(如 "batch processing" → "批处理"),高度专业的领域术语建议人工审核。
  • 成语与文化表达 — 模型能够进行意译(如"塞翁失马" → "blessing in disguise"),而非逐字直译。
  • 与其他 AI 函数配合 — 可先用
    AI_SUMMARIZE
    AI_SUMMARIZE
    摘要再翻译,或先翻译再用
    AI_SENTIMENT
    AI_SENTIMENT
    分析情感。
  • 批量处理 — 处理大量行时,AI 函数会逐行调用模型,建议配合
    LIMIT
    LIMIT
    分批处理或控制并发。

支持的语言代码(常用)

语言代码语言代码
中文
'zh'
'zh'
英文
'en'
'en'
日文
'ja'
'ja'
韩文
'ko'
'ko'
法语
'fr'
'fr'
德语
'de'
'de'
西班牙语
'es'
'es'
葡萄牙语
'pt'
'pt'
俄语
'ru'
'ru'
阿拉伯语
'ar'
'ar'
意大利语
'it'
'it'
泰语
'th'
'th'

示例

简化用法(使用默认模型)

省略

model
model
参数时,将使用工作区默认模型进行翻译:

SELECT AI_TRANSLATE('Hello', 'zh'); -- 返回:你好

中文翻译为英文

SELECT AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', '你好世界', 'en' ) AS translated; -- 返回:Hello world

英文翻译为中文

SELECT AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', 'Hello world', 'zh' ) AS translated; -- 返回:你好,世界

英文翻译为日文

SELECT AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', 'Hello world', 'ja' ) AS translated; -- 返回:こんにちは世界

中文成语翻译为英文

SELECT AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', '塞翁失马,焉知非福。', 'en' ) AS translated; -- 返回:When the old man lost his horse, who could have known it wasn't a blessing in disguise?

批量翻译表中数据

SELECT id, review_content, AI_TRANSLATE('conn_bailian:qwen3.5-plus', review_content, 'zh') AS zh_review FROM global_reviews WHERE review_content IS NOT NULL;

同一内容翻译为多种语言

SELECT doc_id, AI_TRANSLATE('conn_bailian:qwen3.5-plus', content, 'en') AS en_content, AI_TRANSLATE('conn_bailian:qwen3.5-plus', content, 'ja') AS ja_content FROM product_docs WHERE lang = 'zh';

先摘要再翻译

SELECT id, AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', AI_SUMMARIZE('conn_bailian:qwen3.5-plus', content, 30), 'en' ) AS en_summary FROM chinese_articles;

使用 raw_string 输出格式

SELECT AI_TRANSLATE( 'conn_bailian:qwen3.5-plus', '云器Lakehouse是面向企业的多云一体化数据平台。', 'en', json '{"output.behavior":"raw_string"}' ) AS translated;


限制说明

限制项说明
model
model
参数
必须使用
'connection:模型'
'connection:模型'
格式,参数可选,省略时使用工作区默认模型
to_lang
to_lang
必须为有效的 ISO-639 语言代码,不支持语言全名
源语言指定不支持手动指定源语言,始终自动检测
输入长度受底层模型 context window 限制
结果确定性LLM 输出具有非确定性,同一输入多次执行结果可能略有差异
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询