AI_TRANSLATE

本文为您介绍如何使用AI_TRANSLATE通过AI大模型进行翻译。

使用限制

  • 仅实时计算引擎VVR 11.4及以上版本支持。

  • AI_TRANSLATE语句相关的Flink算子的吞吐量受到模型平台限流的限制。当触及平台允许的访问流量上限时,Flink作业会表现出以该算子为瓶颈的反压现象。在限流情况严重时,可能会触发相关算子的超时报错及作业重启。

语法

AI_TRANSLATE(
  MODEL => MODEL <MODEL NAME>, 
  INPUT => <INPUT COLUMN NAME>,
  SOURCE_LANG => <SOURCE LANGUAGE>,
  TARGET_LANG => <TARGET LANGUAGE>
)

入参

参数

数据类型

说明

MODEL <MODEL NAME>

MODEL

注册的模型服务名字。详情请参见模型设置注册模型服务。

注意:目前需要该模型的输出类型为 VARIANT 类型。

<INPUT COLUMN NAME>

STRING

模型待分析的原始文本。

<SOURCE LANGUAGE>

STRING

源语言英文缩写。例如对于中文请输入zh。若输入为auto,则表示让模型自动检测。

目前支持的源语言如下:

中文(zh)英文 (en)、日文 (ja)、韩文 (ko)、法文 (fr)、德文 (de)、西班牙文 (es)、俄文 (ru)、阿拉伯文 (ar)、葡萄牙文 (pt)

注意:实际支持的语言类型由模型决定。

注意:目前该入参需要是一个常量。

<TARGET LANGUAGE>

STRING

目标语言的英文缩写。例如,翻译成中文请输入zh

目前支持的目标语言如下:

中文(zh)英文 (en)、日文 (ja)、韩文 (ko)、法文 (fr)、德文 (de)、西班牙文 (es)、俄文 (ru)、阿拉伯文 (ar)、葡萄牙文 (pt)

注意:实际支持的语言类型由模型决定。

注意:目前该入参需要是一个常量。

输出

参数

数据类型

说明

translated_text

STRING

翻译后的文字。

detected_language

STRING

识别到的语言。

示例

测试数据

id

content

1

I like Flink very much. It's so fast!

测试语句

示例SQL创建通义千问Qwen-Plus模型,使用AI_TRANSLATE翻译输入文本。

CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
    'provider' = 'openai-compat',
    'endpoint'='<YOUR ENDPOINT>',
    'apiKey' = '<YOUR KEY>',
    'model' = 'qwen-plus'
);

CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'I like Flink very much. It''s so fast!');

-- Use positional argument to call AI_TRANSLATE
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
  AI_TRANSLATE(
    MODEL general_model, 
    content, 
    'auto',
    'zh'
    ));
   
-- Use named argument to call AI_TRANSLATE
SELECT id, translated_text, detected_language
FROM infos,
LATERAL TABLE(
  AI_TRANSLATE(
    MODEL => MODEL general_model, 
    INPUT => content, 
    SOURCE_LANG =>'auto',
    TARGET_LANG => 'zh'
    ));
    

输出结果

id

translated_text

detected_language

1

我非常喜欢 Flink,它非常快!

en