Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Preguntas frecuentes de esquemas de incrustación vectorial en tiempo real
Consulte las siguientes preguntas frecuentes sobre los esquemas de incrustación vectorial en tiempo real. Para obtener más información sobre los esquemas de incrustación vectorial en tiempo real, consulte Real-time vector embedding blueprints.
Preguntas frecuentes
¿Cuáles son mis acciones una vez finalizada la implementación de la AWS CloudFormation pila?
¿Cuál debe ser la estructura de los datos en los temas de Amazon MSK de origen?
¿Puedo usar expresiones regulares para configurar los nombres de los temas de Amazon MSK?
¿Cuál es el tamaño máximo de un mensaje que se puede leer de un tema de Amazon MSK?
¿Qué se debe establecer como dimensión para mi campo vectorial?
¿Qué aspecto tiene el resultado en el índice configurado? OpenSearch
¿Puedo refinar el rendimiento de mi aplicación en función de mi carga de trabajo?
¿Qué es sink.os.bulkFlushIntervalMillis y cómo se configura?
¿Dónde puedo encontrar nuevas actualizaciones del código fuente?
¿Qué AWS recursos crea este plan?
Para encontrar los recursos desplegados en su cuenta, vaya a la AWS CloudFormation consola e identifique el nombre de la pila que comienza con el nombre que proporcionó para la aplicación Managed Service for Apache Flink. Elija la pestaña Recursos para comprobar los recursos que se crearon como parte de la pila. Los recursos clave que crea la pila son los siguientes:
-
Servicio administrado de incrustación vectorial en tiempo real para la aplicación Apache Flink
-
Bucket Amazon S3 para almacenar el código fuente de la aplicación de incrustación vectorial en tiempo real
-
CloudWatch grupo de registros y flujo de registros para almacenar registros
-
Funciones de Lambda para obtener y crear recursos
-
Funciones y políticas de IAM para Lambdas, servicio gestionado para la aplicación Apache Flink y acceso a Amazon Bedrock y Amazon Service OpenSearch
-
Política de acceso a datos para Amazon OpenSearch Service
-
Puntos de enlace de VPC para acceder a Amazon Bedrock y Amazon Service OpenSearch
¿Cuáles son mis acciones una vez finalizada la implementación de la AWS CloudFormation pila?
Una vez completada la implementación de la AWS CloudFormation pila, acceda a la consola de Managed Service for Apache Flink y busque su modelo de aplicación Managed Service for Apache Flink. Seleccione la pestaña Configurar y confirme que todas las propiedades del tiempo de ejecución estén configuradas correctamente. Es posible que pasen a la página siguiente. Cuando esté seguro de la configuración, elija Ejecutar. La aplicación empezará a ingerir los mensajes de du tema.
¿Cuál debe ser la estructura de los datos en los temas de Amazon MSK de origen?
Actualmente, se admiten datos de origen estructurados y no estructurados.
-
Los datos no estructurados se indican con
STRINGensource.msk.data.type. Los datos se leen tal como están en el mensaje entrante. -
Actualmente, se admiten datos JSON estructurados, indicados con
JSONensource.msk.data.type. Los datos siempre deben estar en formato JSON. Si la aplicación recibe un JSON con formato incorrecto, esta fallará. -
Cuando se utilice JSON como tipo de datos de origen, asegúrese de que todos los mensajes de todos los temas de origen sean un JSON válido. Si se suscribe a uno o más temas que no contienen objetos JSON con esta configuración, la aplicación fallará. Si uno o más temas contienen una combinación de datos estructurados y no estructurados, se recomienda configurar los datos de origen como no estructurados en la aplicación Managed Service para Apache Flink.
¿Puedo especificar partes de un mensaje para incrustarlas?
-
En el caso de los datos de entrada no estructurados, donde
source.msk.data.typeSTRINGestén, la aplicación siempre incrustará el mensaje completo y lo almacenará en el índice configurado. OpenSearch -
En el caso de los datos de entrada estructurados donde
source.msk.data.typeesJSON, se puede configurarembed.input.config.json.fieldsToEmbedpara especificar qué campo del objeto JSON debe seleccionarse para su incrustación. Esto solo funciona para los campos JSON de nivel superior y no funciona con mensajes anidados JSONs o que contengan una matriz JSON. Use .* para incrustar la totalidad del JSON.
¿Puedo leer datos de varios temas de Amazon MSK?
Sí, se pueden leer datos de varios temas de Amazon MSK con esta aplicación. Los datos de todos los temas deben ser del mismo tipo (STRING o JSON) o podrían provocar un error en la aplicación. Los datos de todos los temas se almacenan siempre en un único OpenSearch índice.
¿Puedo usar expresiones regulares para configurar los nombres de los temas de Amazon MSK?
source.msk.topic.names no admite una lista de expresiones regulares. Se admiten listas de nombres de temas separados por comas o expresiones regulares .* para incluir todos los temas.
¿Cuál es el tamaño máximo de un mensaje que se puede leer de un tema de Amazon MSK?
El tamaño máximo de un mensaje que se puede procesar está limitado por el límite de InvokeModel cuerpo de Amazon Bedrock, que actualmente está establecido en 25 000 000 000. Para obtener más información, consulte InvokeModel.
¿Qué tipo de es compatible OpenSearch ?
Admitimos tanto OpenSearch dominios como colecciones. Si usa una OpenSearch colección, asegúrese de usar una colección vectorial y cree un índice vectorial para usarlo en esta aplicación. Esto le permitirá utilizar las capacidades de la base de datos OpenSearch vectorial para consultar sus datos. Para obtener más información, consulta la explicación de las capacidades de las bases de datos vectoriales de Amazon OpenSearch Service
¿Por qué necesito usar una colección de búsqueda vectorial, un índice vectorial y añadir un campo vectorial a mi colección OpenSearch Serverless?
El tipo de colección de búsqueda vectorial de OpenSearch Serverless proporciona una capacidad de búsqueda por similitud que es escalable y de alto rendimiento. Agiliza la creación de experiencias de búsqueda aumentada de machine learning (ML) modernas y aplicaciones de la inteligencia artificial (IA) generativa. Para obtener más información, consulte Working with vector search collections.
¿Qué se debe establecer como dimensión para mi campo vectorial?
Establezca la dimensión del campo vectorial en función del modelo de incrustación que se desee utilizar. Consulte la siguiente tabla y confirme estos valores en la documentación correspondiente.
| Nombre del modelo de incrustación vectorial de Amazon Bedrock | El modelo ofrece compatibilidad para dimensiones de salida |
|---|---|
|
Incrustaciones de texto Amazon Titan V1 |
1536 |
|
Amazon Titan Text Embeddings V2 |
1024 (predeterminado), 384, 256 |
|
Amazon Titan Multimodal Embeddings G1 |
1024 (predeterminado), 384, 256 |
|
Cohere Embed inglés |
1 024 |
|
Cohere Embed multilingüe |
1 024 |
¿Qué aspecto tiene el resultado en el índice configurado? OpenSearch
Todos los documentos del OpenSearch índice contienen los siguientes campos:
-
original_data: los datos que se utilizaron para generar incrustaciones. En el caso del tipo STRING, es el mensaje completo. En el caso del objeto JSON, es el objeto JSON que se utilizó para las incrustaciones. Puede ser el JSON completo del mensaje o los campos específicos del JSON. Por ejemplo, si se seleccionó un nombre para incrustarlo en los mensajes entrantes, el resultado tendría el siguiente aspecto:
"original_data": "{\"name\":\"John Doe\"}" -
embedded_data: matriz flotante vectorial de incrustaciones generada por Amazon Bedrock
-
fecha: marca horaria UTC en la que se almacenó el documento OpenSearch
¿Puedo especificar campos de metadatos para añadirlos al documento almacenado en el índice? OpenSearch
No, actualmente no admitimos la adición de campos adicionales al documento final almacenado en el OpenSearch índice.
¿Debo esperar entradas duplicadas en el OpenSearch índice?
Según cómo se haya configurado la aplicación, es posible que vea mensajes duplicados en el índice. Un motivo habitual es el reinicio de la aplicación. La aplicación está configurada de forma predeterminada para empezar a leer desde el primer mensaje del tema de origen. Al cambiar la configuración, la aplicación se reinicia y vuelve a procesar todos los mensajes del tema. Para evitar el reprocesamiento, consulte la documentación sobre cómo usar source.msk.starting.offset y configurar correctamente el desplazamiento inicial de su aplicación.
¿ OpenSearch Puedo enviar datos a varios índices?
No, la aplicación admite el almacenamiento de datos en un único OpenSearch índice. Para configurar el resultado de la vectorización en varios índices, debe implementar un servicio administrado independiente para las aplicaciones de Apache Flink.
¿Puedo implementar varias aplicaciones de incrustación vectorial en tiempo real en una sola Cuenta de AWS¿
Sí, se pueden implementar varias aplicaciones del Servicio gestionado de incrustación vectorial para Apache Flink en tiempo real en una sola Cuenta de AWS si cada aplicación tiene un nombre único.
¿Pueden varias aplicaciones de incrustación vectorial en tiempo real utilizar el mismo origen o receptor de datos?
Sí, se pueden crear varios servicios gestionados de incrustación vectorial en tiempo real para aplicaciones de Apache Flink que lean datos de los mismos temas o almacenen datos en el mismo índice.
¿La aplicación admite la conectividad entre cuentas?
No, para que la aplicación se ejecute correctamente, el clúster de Amazon MSK y la OpenSearch colección deben estar en el mismo Cuenta de AWS lugar en el que intenta configurar la aplicación Managed Service for Apache Flink.
¿La aplicación admite la conectividad entre regiones?
No, la aplicación solo le permite implementar una aplicación de Managed Service for Apache Flink con un clúster de Amazon MSK y una OpenSearch colección en la misma región de la aplicación Managed Service for Apache Flink.
¿El clúster y la OpenSearch colección de Amazon MSK pueden estar en redes diferentes VPCs o en subredes?
Sí, admitimos el clúster y la OpenSearch recopilación de Amazon MSK en diferentes subredes VPCs y subredes siempre que estén en la misma. Cuenta de AWS Consulte (Solución de problemas generales de MSF) para asegurarse de que la configuración es la correcta.
¿Qué modelos de incrustación admite la aplicación?
Actualmente, la aplicación admite todos los modelos compatibles con Bedrock. Entre ellos se incluyen:
-
Amazon Titan Embeddings G1 - Text
-
Amazon Titan Text Embeddings V2
-
Amazon Titan Multimodal Embeddings G1
-
Cohere Embed inglés
-
Cohere Embed multilingüe
¿Puedo refinar el rendimiento de mi aplicación en función de mi carga de trabajo?
Sí. El rendimiento de la aplicación depende de varios factores, todos los cuales pueden ser controlados por los clientes:
-
AWSMSF KPUs: La aplicación se implementa con un factor de paralelismo predeterminado de 2 y un paralelismo por KPU 1, con el escalado automático activado. Sin embargo, se recomienda que configure el escalado de la aplicación de Managed Service para Apache Flink según sus cargas de trabajo. Para obtener más información, consulte Revise los recursos de aplicaciones de Managed Service for Apache Flink.
-
Amazon Bedrock: según el modelo bajo demanda de Amazon Bedrock seleccionado, es posible que se apliquen cuotas diferentes. Revise las cuotas de servicio en Bedrock para ver la carga de trabajo que el servicio podrá gestionar. Para obtener más información, consulte Quotas for Amazon Bedrock.
-
Amazon OpenSearch Service: Además, en algunas situaciones, es posible que notes que OpenSearch se trata de un cuello de botella en tu cartera de proyectos. Para obtener información sobre el escalado, consulte OpenSearch Escalar el tamaño de los dominios OpenSearch de Amazon Service.
¿Qué tipos de autenticación de Amazon MSK son compatibles?
IAM MSK es el único tipo de autenticación admitido.
¿Qué es sink.os.bulkFlushIntervalMillis y cómo se configura?
Al enviar datos a Amazon OpenSearch Service, el intervalo de descarga masiva es el intervalo en el que se ejecuta la solicitud masiva, independientemente del número de acciones o del tamaño de la solicitud. El valor predeterminado es de 1 milisegundo.
Si bien establecer un intervalo de vaciado puede ayudar a garantizar que los datos se indexen a tiempo, también puede generar un aumento de la sobrecarga si se establece un intervalo demasiado bajo. Tenga en cuenta su caso de uso y la importancia de una indexación puntual cuando se deba elegir un intervalo de vaciado.
Cuando despliegue mi aplicación Managed Service para Apache Flink, ¿a partir de qué punto del tema Amazon MSK empezará a leer los mensajes?
La aplicación empezará a leer los mensajes del tema Amazon MSK con el desfase especificado por la configuraciónsource.msk.starting.offset establecida en la configuración de tiempo de ejecución de la aplicación. Si source.msk.starting.offset no se establece de forma explícita, el comportamiento predeterminado de la aplicación es empezar a leer desde el primer mensaje disponible del tema.
¿Cómo uso source.msk.starting.offset?
Establezca ource.msk.starting.offset de forma explícita en uno de los siguientes valores, según el comportamiento deseado:
-
EARLY: la configuración predeterminada, que se lee desde el desplazamiento más antiguo de la partición. Es una buena opción, especialmente si:
-
Acaba de crear temas y aplicaciones para consumidores de Amazon MSK.
-
Necesita reproducir los datos para poder generar o reconstruir el estado. Esto es pertinente cuando se implementa el patrón de abastecimiento de eventos o cuando se inicializa un nuevo servicio que requiere una vista completa del historial de datos.
-
-
LATEST: la aplicación de Managed Service para Apache Flink leerá los mensajes del final de la partición. Se recomienda esta opción si solo importa que se generen nuevos mensajes y no se necesita procesar datos históricos. En esta configuración, el consumidor ignorará los mensajes existentes y solo leerá los nuevos publicados por el productor original.
-
COMMITTED: la aplicación Managed Service para Apache Flink empezará a consumir los mensajes que procedan de la misma cantidad de mensajes confirmados por el grupo consumidor. Si la compensación comprometida no existe, se utilizará la estrategia de restablecimiento EARLIEST.
¿Qué estrategias de fragmentación se admiten?
Estamos usando la biblioteca langchainmaxSegmentSizeInChars elegido. Se admiten los siguientes cinco tipos de fragmentación:
-
SPLIT_BY_CHARACTER: Cabrá tantos caracteres como sea posible en cada bloque donde la longitud de cada fragmento no sea superior a. maxSegmentSize InChars No importan los espacios en blanco, por lo que puede cortar palabras. -
SPLIT_BY_WORD: encontrará espacios en blanco para fragmentarlos. No se corta ninguna palabra. -
SPLIT_BY_SENTENCE: los límites de las oraciones se detectan con la biblioteca Apache OpenNLP con el modelo de oraciones en inglés. -
SPLIT_BY_LINE: encontrará nuevos caracteres de línea para fragmentarlos. -
SPLIT_BY_PARAGRAPH: encontrará nuevos caracteres de línea consecutivos para fragmentarlos.
Las estrategias de división recurren al orden anterior, donde las estrategias de segmentación más grandes como SPLIT_BY_PARAGRAPH recurren al orden anterior SPLIT_BY_CHARACTER. Por ejemplo, cuando se usa SPLIT_BY_LINE, si una línea es demasiado larga, se la subdivide por oración, y cada fragmento cabe en tantas oraciones como sea posible. Si alguna oración es demasiado larga, se fragmentarán las palabras. Si una palabra es demasiado larga, se dividirá por caracteres.
¿Cómo leo los registros de mi almacén de datos de vectores?
-
Cuando
source.msk.data.typeesSTRING-
original_data: la cadena original completa del mensaje de Amazon MSK.
-
embedded_data: vector de incrustación creado a partir de
chunk_datasi no está vacío (se aplica la fragmentación) o creado a partir deoriginal_datasi no se ha aplicado ninguna fragmentación. -
chunk_data: solo está presente cuando los datos originales se fragmentaron. Contiene el fragmento del mensaje original que se utilizó para crear la incrustación en
embedded_data.
-
-
Cuando
source.msk.data.typeesJSON-
original_data: todo el JSON original del mensaje de Amazon MSK después de aplicar el filtrado de claves JSON.
-
embedded_data: vector de incrustación creado a partir de
chunk_datasi no está vacío (se aplica la fragmentación) o creado a partir deoriginal_datasi no se ha aplicado ninguna fragmentación. -
chunk_key: solo está presente cuando los datos originales se fragmentaron. Contiene la clave JSON de la que proviene el fragmento en
original_data. Por ejemplo, puede tener el mismo aspecto quejsonKey1.nestedJsonKeyAen el caso de las claves anidadas o de metadatos en el ejemplo de losoriginal_data. -
chunk_data: solo está presente cuando los datos originales se fragmentaron. Contiene el fragmento del mensaje original que se utilizó para crear la incrustación en
embedded_data.
-
Sí, se pueden leer datos de varios temas de Amazon MSK con esta aplicación. Los datos de todos los temas deben ser del mismo tipo (STRING o JSON) o podrían provocar un error en la aplicación. Los datos de todos los temas se almacenan siempre en un único OpenSearch índice.
¿Dónde puedo encontrar nuevas actualizaciones del código fuente?
¿Puedo realizar un cambio en la AWS CloudFormation plantilla y actualizar la aplicación Managed Service for Apache Flink?
No, al realizar un cambio en la AWS CloudFormation plantilla no se actualiza la aplicación Managed Service for Apache Flink. Cualquier cambio nuevo AWS CloudFormation implica la necesidad de implementar una nueva pila.
¿AWSSupervisará y mantendrá la aplicación en mi nombre?
No, no supervisará, AWS escalará, actualizará ni parcheará esta aplicación en su nombre.
¿Esta aplicación mueve mis datos fuera de mi Cuenta de AWS?
Todos los datos leídos y almacenados por la aplicación Managed Service for Apache Flink permanecen en su cuenta Cuenta de AWS y nunca salen de su cuenta.