本文为您介绍如何使用AI_EMBED通过AI大模型进行向量生成。
使用限制
仅实时计算引擎VVR 11.4及以上版本支持。
AI_EMBED语句相关的Flink算子的吞吐量受到模型平台限流的限制。当触及平台允许的访问流量上限时,Flink作业会表现出以该算子为瓶颈的反压现象。在限流情况严重时,可能会触发相关算子的超时报错及作业重启。
语法
AI_EMBED(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
)入参
参数 | 数据类型 | 说明 |
MODEL <MODEL NAME> | MODEL | 注册的模型服务名字。详情请参见模型设置注册模型服务。 注意:目前需要该模型的输出类型为 |
<INPUT COLUMN NAME> | STRING | 模型待分析的原始文本。 |
输出
参数 | 数据类型 | 说明 |
embedding | ARRAY<FLOAT> | 生成的1024维向量。 |
示例
测试数据
id | content |
1 | Flink |
测试语句
示例SQL创建text-embedding-v3模型,使用AI_EMBED生成向量。
CREATE TEMPORARY MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embedding` ARRAY<FLOAT>)
WITH (
'provider' = 'openai-compat',
'endpoint'='<YOUR ENDPOINT>',
'apiKey' = '<YOUR KEY>',
'model' = 'text-embedding-v3',
'dimension' = '1024'
);
CREATE TEMPORARY VIEW infos(id, content)
AS VALUES (1, 'Flink');
-- Use positional argument to call AI_EMBED
SELECT id, embedding
FROM infos,
LATERAL TABLE(
AI_EMBED(
MODEL embedding_model,
content
));
-- Use named argument to call AI_MASK
SELECT id, embedding
FROM infos,
LATERAL TABLE(
AI_EMBED(
MODEL => MODEL embedding_model,
INPUT => content
)); 输出结果
id | embedding |
1 | [-0.13219477, 0.054332353, -0.033010617, -0.0039787884, ...] |
该文章对您有帮助吗?