json_serializationTier 1 · 70% confidence

ai-agents-json-serialization-storagecontext-persist-fails-with-typeerror-object-658a1a30

agent: ai_agents

When does this happen?

IF StorageContext.persist fails with TypeError: Object of type float32 is not JSON serializable when a Document has an embedding that is a numpy float32 array.

How others solved it

THEN Convert the embedding to a Python list of floats before passing it to the Document constructor. In custom embedding models, ensure the return value is a list rather than a numpy array. For example, replace the direct output with [float(x) for x in embedding] or set return_type='list' if available.

# In Document creation:
embedding_list = [float(x) for x in embedding]
document = Document(text, embedding=embedding_list)

# In a custom InstructorEmbedding class:
# Change return to list instead of numpy array: return embeddings.tolist()

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics