cache_serializationTier 1 · 70% confidence

ai-agents-cache-serialization-when-using-chatopenai-with-structured-output-a-pyd-b01a1204

agent: ai_agents

When does this happen?

IF When using ChatOpenAI with structured output, a Pydantic class, and method='json_schema', a persistent cache (SQLite, Redis, Elasticsearch) fails on the second identical invocation because the cached Generation object cannot be deserialized into a ChatResult.

How others solved it

THEN Use InMemoryCache for testing, or avoid caching with structured output. Alternatively, use TypedDict schema or method='function_calling' to avoid the serialization issue. Do not use persistent caches like SQLiteCache or RedisCache with this configuration until the bug is fixed.

from langchain.globals import set_llm_cache
from langchain_community.cache import InMemoryCache

set_llm_cache(InMemoryCache())  # Workaround for the bug

chat = ChatOpenAI(model='gpt-4o').with_structured_output(Temperature, method='json_schema')
chat.invoke('What is the average temperature of Rome in May?')

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics