Tencent/WeKnora · error

empty embedding vector for chunk ID: %s

Error message

empty embedding vector for chunk ID: %s

What it means

Milvus save guard: the converted embedding for the chunk has a zero-length vector (upstream embedding failure or unsupported content), so the point cannot be inserted into a fixed-dimension collection and the save is rejected.

Source

Thrown at internal/application/repository/retriever/milvus/repository.go:244

		totalStorageSize += m.calculateStorageSize(embeddingDB)
	}
	logger.GetLogger(ctx).Infof(
		"[Milvus] Storage size for %d indices: %d bytes", len(indexInfoList), totalStorageSize,
	)
	return totalStorageSize
}

// Save stores a single point in Milvus
func (m *milvusRepository) Save(ctx context.Context,
	embedding *types.IndexInfo,
	additionalParams map[string]any,
) error {
	log := logger.GetLogger(ctx)
	log.Debugf("[Milvus] Saving index for chunk ID: %s", embedding.ChunkID)

	embeddingDB := toMilvusVectorEmbedding(embedding, additionalParams)
	if len(embeddingDB.Embedding) == 0 {
		err := fmt.Errorf("empty embedding vector for chunk ID: %s", embedding.ChunkID)
		log.Errorf("[Milvus] %v", err)
		return err
	}

	dimension := len(embeddingDB.Embedding)
	if err := m.ensureCollection(ctx, dimension); err != nil {
		return err
	}

	collectionName := m.getCollectionName(dimension)

	embeddingDB.ID = uuid.New().String()
	opts := createUpsert(collectionName, []*MilvusVectorEmbedding{embeddingDB})

	_, err := m.client.Upsert(ctx, opts)
	if err != nil {
		log.Errorf("[Milvus] Failed to save index: %v", err)
		return err

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Verify the embedding pipeline produced a vector for this chunk
  2. Skip non-embeddable chunks rather than inserting empties
  3. Check embedding model/dimension configuration
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at internal/application/repository/retriever/milvus/repository.go:244 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02). Data as JSON: /api/errors/e0d9aa327e721543. Report an issue: GitHub.