AI_TRANSLATE
概述
AI_TRANSLATEAI_TRANSLATE
是云器 Lakehouse 提供的 AI 翻译函数,可将输入文本从一种语言翻译成另一种指定语言。源语言自动检测,无需手动指定。支持中文、英文、日文、韩文、法语、德语、西班牙语等多种语言互译,一行 SQL 即可完成翻译。
语法
AI_TRANSLATEAI_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 WORKSPACEALTER 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 CONNECTIONCREATE 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 CONNECTIONCREATE API CONNECTION
各字段说明:
字段 说明 TYPETYPE
固定为 ai_functionai_function
PROVIDERPROVIDER
模型供应商标识,如 'bailian''bailian'
、'openai''openai'
、'anthropic''anthropic'
等 BASE_URLBASE_URL
模型服务的 API 基础地址 API_KEYAPI_KEY
调用服务所需的认证密钥
具体可用的模型服务请咨询平台管理员,或在 Lakehouse Studio → AI → 模型管理 中查看。
content(必需)
待翻译的输入文本,支持 CHAR/VARCHAR/STRING 类型。
to_lang(必需)
目标语言代码,遵循 ISO-639 标准(如
'zh''zh'
、
'en''en'
、
'ja''ja'
)。源语言自动检测,无需手动指定。
options(可选)
使用
json '{}'json '{}'
字面量语法传入,控制输出格式和执行行为:
输出格式控制
参数键 类型 默认值 说明 output.behavioroutput.behavior
STRING formatted_jsonformatted_json
输出格式:formatted_jsonformatted_json
/ raw_stringraw_string
/ fail_on_errorfail_on_error
三种输出模式对比:
模式 成功输出 错误输出 适用场景 formatted_jsonformatted_json
{"translation":"..."}{"translation":"..."}
{"translation":"","error_message":"..."}{"translation":"","error_message":"..."}
生产环境默认,结构化输出便于下游解析 raw_stringraw_string
原始翻译文本 NULL 兼容旧行为,应急使用 fail_on_errorfail_on_error
原始翻译文本 抛异常,整个 job 失败 严格模式,不容忍单行错误
output.behavioroutput.behavior
输入兼容性(大小写不敏感,
__
、
..
、
--
等价):
输入值 解析结果 formatted_jsonformatted_json
/ formatted.jsonformatted.json
/ jsonjson
FORMATTED_JSON raw_stringraw_string
/ raw.stringraw.string
/ rawraw
RAW_STRING fail_on_errorfail_on_error
/ fail.on.errorfail.on.error
/ fail-on-errorfail-on-error
/ failfail
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.concurrencytask.concurrency
STRING "1""1"
批量处理并发度,上限 128(建议不超过 8) response.timeoutresponse.timeout
STRING - 单次请求超时时间(秒),如 "60""60"
返回值
STRING 类型,包含将原始文本翻译成目标语言后的结果。
错误行为
默认情况下,若
AI_TRANSLATEAI_TRANSLATE
无法处理输入,函数返回 NULL。
输入情况 返回值 contentcontent
为 NULLNULL contentcontent
为空字符串 ''''
空字符串 ''''
contentcontent
与目标语言相同返回原文不变 to_langto_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 foundNo available endpoints found
缺少必填参数 报错:AI function must have at least two argumentsAI function must have at least two arguments
使用说明
支持的语言代码(常用)
语言 代码 语言 代码 中文 'zh''zh'
英文 'en''en'
日文 'ja''ja'
韩文 'ko''ko'
法语 'fr''fr'
德语 'de''de'
西班牙语 'es''es'
葡萄牙语 'pt''pt'
俄语 'ru''ru'
阿拉伯语 'ar''ar'
意大利语 'it''it'
泰语 'th''th'
示例
简化用法(使用默认模型)
省略
modelmodel
参数时,将使用工作区默认模型进行翻译:
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;
限制说明
限制项 说明 modelmodel
参数必须使用 'connection:模型''connection:模型'
格式,参数可选,省略时使用工作区默认模型 to_langto_lang
必须为有效的 ISO-639 语言代码,不支持语言全名 源语言指定 不支持手动指定源语言,始终自动检测 输入长度 受底层模型 context window 限制 结果确定性 LLM 输出具有非确定性,同一输入多次执行结果可能略有差异