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

TL;DR — yazdığınız vektörün boyut sayısı, vektör index'inin beklediğinden farklı. Index, Dimensions değerini oluşturma anında sabitledi ve bu değişemez; ya embedding'i index'in boyut sayısında yeniden üretin ya da yeni bir index oluşturun.

Ne anlama gelir

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

Bu, vektör index'i Dimensions: 1024 ile oluşturulmuş bir tabloya 512 boyutlu bir embedding yazarak us-east-1'de yakaladığımız birebir servis yanıtıdır. Yazma doğrudan reddedilir; ne tabloya ne de index'e hiçbir şey ulaşır.

Mesaj üç şeyi adıyla verir: vektör özniteliğini (embedding), index'in beklediği boyut sayısını ve sizin gönderdiğinizi. Sondaki IndexName, tablonun (5'e kadar) vektör index'lerinden hangisinin bunu fırlattığını söyler.

Neden olur

  • Embedding modellerini değiştirdiniz. 512 boyut üreten bir model, 1,024 üreten birinin yerini aldı. Index'in Dimensions değeri oluşturma anında sabitlenir, bu yüzden artık her yeni yazma başarısız olur.
  • Bir kırpma ya da doldurma adımı ortadan kayboldu. Matryoshka tarzı embedding'leri hedef boyuta dilimleyen pipeline'lar, dilimleme atlandığında böyle başarısız olur.
  • İki index, tek öznitelik adı. Bir index'in boyut sayısını karşılayan bir yazma, farklı bir tabloda aynı öznitelik üzerinde tanımlı başka bir index'te yine de başarısız olabilir.

Nasıl düzeltilir

Embedding'i index'in boyut sayısında yeniden üretin ya da index'i silip modelin boyut sayısında yenisini oluşturun. Yerinde değişiklik yoktur: Dimensions ve DistanceFunction değiştirilemezdir, dolayısıyla bir model geçişi yeni bir index ve bir backfill demektir.

Bir geçiş sırasında iki modelin bir arada var olması gerekiyorsa, onları iki farklı özniteliğe yazın ve her birine kendi vektör index'ini verin — bir tablo 5'e kadar alır.

İlgili sayfalar

Faturalandırma ve sınırların tam resmi DynamoDB vektör arama rehberinde. Bu mesajın genel önekinin kendi sayfası var: "One or more parameter values were invalid".

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.