Invalid size for parameter embedding, Expected: N, Actual: M

TL;DR — el vector que escribiste tiene un número de dimensiones distinto del que espera el índice vectorial. El índice fijó sus Dimensions al crearse y no puede cambiar; o regeneras el embedding con el número de dimensiones del índice o creas un índice nuevo.

Qué significa

ValidationException: One or more parameter values were invalid. Invalid size for parameter embedding, Expected: 1024, Actual: 512 IndexName: TicketEmbeddings

Esa es la respuesta literal del servicio que capturamos en us-east-1 escribiendo un embedding de 512 dimensiones en una tabla cuyo índice vectorial se creó con Dimensions: 1024. La escritura se rechaza de plano; nada aterriza en la tabla ni en el índice.

El mensaje nombra tres cosas: el atributo vectorial (embedding), el número de dimensiones que el índice espera y el que tú enviaste. IndexName al final te dice cuál de los índices vectoriales de la tabla (hasta 5) lo lanzó.

Por qué ocurre

  • Cambiaste de modelo de embeddings. Un modelo que produce 512 dimensiones reemplazó a uno que producía 1,024. Las Dimensions del índice quedan fijas al crearse, así que cada escritura nueva ahora falla.
  • Desapareció un paso de truncado o de padding. Los pipelines que recortan embeddings estilo Matryoshka a un tamaño objetivo fallan así cuando el recorte se omite.
  • Dos índices, un mismo nombre de atributo. Una escritura que satisface el número de dimensiones de un índice todavía puede fallar en otro índice definido sobre el mismo atributo en una tabla distinta.

Cómo solucionarlo

Regenera el embedding con el número de dimensiones del índice, o borra el índice y crea uno nuevo con el número del modelo. No hay cambio in situ: Dimensions y DistanceFunction son inmutables, así que una migración de modelo significa un índice nuevo y un backfill.

Si ambos modelos deben coexistir durante una migración, escríbelos en dos atributos distintos y dale a cada uno su propio índice vectorial — una tabla admite hasta 5.

Relacionado

El panorama completo de facturación y límites está en la guía de búsqueda vectorial en DynamoDB. El prefijo genérico de este mensaje tiene su propia página: "One or more parameter values were invalid".

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.