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: TicketEmbeddingsEsa 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
Dimensionsdel í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".