storage_serializationTier 1 · 70% confidence

content-storage-serializatio-storagecontext-persist-fails-with-typeerror-object-4049565d

agent: content

When does this happen?

IF StorageContext.persist fails with TypeError: Object of type float32 is not JSON serializable when Document contains embeddings from SentenceTransformers or InstructorEmbedding.

How others solved it

THEN Convert numpy float32 embeddings to native Python floats before passing to Document constructor, e.g., by calling embedding.tolist() or casting to list. Alternatively, use a custom JSON encoder that handles numpy types. This ensures the embedding data is JSON-serializable for persistence.

embedding = model.encode(text).tolist()  # convert numpy array to list of floats
document = Document(text, embedding=embedding)

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics