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

TL;DR — vektor yang Anda tulis punya jumlah dimensi yang berbeda dari yang diharapkan vector index. Indeks mematok Dimensions-nya saat dibuat dan itu tidak bisa berubah; regenerasi embedding pada jumlah dimensi indeks, atau buat indeks baru.

Apa artinya

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

Itu respons layanan verbatim yang kami tangkap di us-east-1 dengan menulis embedding 512 dimensi ke tabel yang vector index-nya dibuat dengan Dimensions: 1024. Write-nya ditolak mentah-mentah; tidak ada yang mendarat di tabel maupun di indeks.

Pesannya menyebut tiga hal: atribut vektor (embedding), jumlah dimensi yang diharapkan indeks, dan jumlah yang Anda kirim. IndexName di bagian akhir memberi tahu vector index tabel yang mana (hingga 5) yang memunculkannya.

Mengapa itu terjadi

  • Anda mengganti model embedding. Model yang mengeluarkan 512 dimensi menggantikan model yang mengeluarkan 1,024. Dimensions indeks terkunci saat dibuat, jadi setiap write baru kini gagal.
  • Langkah pemotongan atau padding menghilang. Pipeline yang memangkas embedding gaya Matryoshka ke ukuran target gagal seperti ini ketika pemangkasannya terlewat.
  • Dua indeks, satu nama atribut. Write yang memenuhi jumlah dimensi satu indeks tetap bisa gagal di indeks lain yang didefinisikan atas atribut yang sama pada tabel berbeda.

Bagaimana cara memperbaikinya

Regenerasi embedding pada jumlah dimensi indeks, atau hapus indeksnya dan buat yang baru pada jumlah dimensi model. Tidak ada perubahan di tempat: Dimensions dan DistanceFunction immutable, jadi migrasi model berarti indeks baru dan sebuah backfill.

Jika kedua model harus hidup berdampingan selama migrasi, tulis keduanya ke dua atribut berbeda dan beri masing-masing vector index-nya sendiri — satu tabel menampung hingga 5.

Terkait

Gambaran lengkap penagihan dan limitnya ada di panduan vector search DynamoDB. Awalan generik pesan ini punya halamannya sendiri: "One or more parameter values were invalid".

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.