Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Invoke a Triton inference service

Última actualización: Sep 05, 2026

Registre un modelo desplegado en NVIDIA Triton Inference Server e invóquelo para realizar inference en tiempo real dentro de trabajos de Flink SQL.

Contexto

Realtime Compute for Apache Flink (VVR 11.7+) permite registrar modelos en NVIDIA Triton Inference Server mediante la sentencia CREATE MODEL. Utilice ML_PREDICT en sus trabajos SQL para ejecutar inference sobre flujos de datos en tiempo real.

NVIDIA Triton Inference Server es un servicio de inference de código abierto y alto rendimiento desarrollado por NVIDIA, compatible con TensorFlow, PyTorch, ONNX, TensorRT y otros frameworks. Puede utilizar un servicio Triton autogestionado o desplegar uno en PAI-EAS. Deploy a service by using a Triton Inference Server image.

Notas de uso

  • Esta función solo es compatible con la versión 11.7 del motor VVR y posteriores.

  • Las solicitudes a un servidor Triton externo utilizan la red pública de internet y requieren public network access.

  • Si el servidor Triton está desplegado en PAI, las solicitudes se realizan a través de una red privada. Para obtener el endpoint, consulte la sección FAQ.

  • Los recursos del servidor Triton, las condiciones de la red y el rendimiento del modelo afectan el throughput de inference. Los servicios Triton sobrecargados o con limitación de tasa pueden causar contrapresión en los trabajos de Flink. Una limitación de tasa severa puede provocar tiempos de espera agotados en los operadores y reinicios del trabajo.

Sintaxis

CREATE MODEL [catalog_name.][db_name.]model_name
INPUT (
  input_column input_type
)
OUTPUT (
  output_column output_type
)
WITH (
  'provider' = 'triton',
  'endpoint' = '<endpoint>',
  'auth-token' = '<authentication_token>'
  'model-name' = '<model_name>',
  'model-version' = '<model_version>'
);

Parámetros WITH

Parámetros generales

Parámetro

Descripción

Tipo

Obligatorio

Predeterminado

Notas

provider

El tipo de servicio del modelo.

String

Sí

Ninguna

El valor debe ser triton.

endpoint

El endpoint HTTP de Triton Inference Server.

String

Sí

Ninguna

Asegúrese de que exista conectividad de red entre el espacio de trabajo de Flink y el servicio Triton. Network connection options. Para despliegues en PAI-EAS, obtenga el endpoint desde la información de invocación del servicio en la página del servicio de inference de modelos en la PAI console.

model-name

El nombre del modelo en el servidor Triton.

String

Sí

Ninguna

Este nombre debe coincidir con el nombre del modelo en el repositorio de modelos de Triton.

model-version

La versión del modelo Triton.

String

No

latest

Puede especificar una versión, como 1.

timeout

El tiempo de espera para una solicitud HTTP.

Duration

No

30s

Se aplica a operaciones de conexión, lectura y escritura. Especifíquelo en formato de duración, como 10s o 30000ms.

flatten-batch-dim

Indica si se debe aplanar la dimensión de lote de una entrada de matriz.

Boolean

No

false

La forma predeterminada de entrada de matriz es [1, N]. Establezca este parámetro en true para aplanarla a [N] cuando el modelo espere una entrada unidimensional.

priority

La prioridad de la solicitud.

Integer

No

Ninguna

Rango: de 0 a 255. Los valores más altos indican mayor prioridad. Se transmite directamente a los parámetros de solicitud de Triton.

compression

El algoritmo de compresión para el cuerpo de la solicitud.

String

No

Ninguna

Actualmente, solo se admite gzip.

auth-token

El token de autenticación para el modelo Triton.

String

No

Ninguna

Agrega el encabezado Authorization: Bearer <auth-token> a las solicitudes. Para despliegues en PAI-EAS, obtenga el token desde la información de invocación del servicio en la página del servicio de inference de modelos en la PAI console.

custom-headers

Encabezados de solicitud HTTP personalizados.

Map

No

Ninguna

Ejemplo: 'X-Trace-Id:abc,Authorization:token'.

Parámetros de modelos con estado

Estos parámetros aplican a modelos Triton con estado (RNN, LSTM) que mantienen información de estado entre solicitudes.

Parámetro

Descripción

Tipo

Obligatorio

Predeterminado

Notas

sequence-id

El ID de secuencia.

String

No

Ninguna

Triton enruta las solicitudes con el mismo ID de secuencia a la misma instancia del modelo.

sequence-start

Marca la solicitud como el inicio de una secuencia.

Boolean

No

false

Si se establece en true, Triton inicializa el estado del modelo antes de procesar esta solicitud.

sequence-end

Marca la solicitud como el final de una secuencia.

Boolean

No

false

Si se establece en true, Triton libera el estado del modelo después de procesar esta solicitud.

Mapeo de tipos

Los tipos de columna de Flink deben coincidir con el data_type definido en el archivo config.pbtxt del modelo en el servidor Triton.

Tipo Flink

dtype Triton

Descripción

BOOLEAN

BOOL

Tipo booleano.

TINYINT

INT8

Entero con signo de 8 bits.

SMALLINT

INT16

Entero con signo de 16 bits.

INT

INT32

Entero con signo de 32 bits.

BIGINT

INT64

Entero con signo de 64 bits.

FLOAT

FP32

Número de punto flotante de 32 bits.

DOUBLE

FP64

Número de punto flotante de 64 bits.

STRING / VARCHAR

BYTES

Tipo de texto.

ARRAY<T>

Corresponde al tipo de elemento T.

Solo se admiten matrices unidimensionales. T debe ser uno de los tipos escalares listados anteriormente.

Reglas de forma:

  • La forma de una entrada escalar es [1].

  • La forma predeterminada de una entrada ARRAY<T> es [1, N], donde N es la longitud de la matriz. Si el modelo Triton espera una forma de [N], establezca 'flatten-batch-dim' = 'true'.

Preguntas frecuentes

¿Cómo obtengo el endpoint y el token para un servicio Triton desplegado en Platform for AI (PAI)?

  1. Inicie sesión en la consola de Platform for AI (PAI).

  2. En el panel de navegación izquierdo, elija Elastic Algorithm Service (EAS) > Inference Service y luego haga clic en el nombre del servicio objetivo para abrir la página Overview.

  3. En la sección Basic Information, haga clic en View Invocation Information.

  4. En el panel Invocation Information, copie el endpoint y el token.

¿Cómo resuelvo un error de discrepancia de forma?

Asegúrese de que el tipo de columna de entrada de Flink coincida con dims en el archivo config.pbtxt del modelo en el servidor Triton. Para entradas ARRAY<T>, Flink envía la forma [1, N] de manera predeterminada. Si el modelo espera [N], configure lo siguiente:

'flatten-batch-dim' = 'true'

No se admiten matrices anidadas. Para tensores de alta dimensión, aplánelos a un ARRAY<T> unidimensional y restaure la forma en el lado del modelo.

¿Se admiten modelos con múltiples entradas o salidas?

Solo se admiten columnas de entrada y salida únicas. Para múltiples entradas, empaquete las características numéricas en un solo ARRAY<T> o serialice estructuras complejas como una JSON string y analícela sintácticamente en el lado del modelo. Para múltiples salidas, fusiónelas en un solo tensor de salida o cadena JSON en el lado del modelo.