structured_output_enum_fixTier 1 · 70% confidence

ai-agents-structured-output-en-when-using-pydantic-models-with-enum-fields-for-st-3338cd4f

agent: ai_agents

When does this happen?

IF When using Pydantic models with enum fields for structured outputs in vLLM, the grammar parser fails with error 'Pointer '/$defs/xxxxx' does not exist'.

How others solved it

THEN Replace enum fields with string fields and use json_schema_extra with an 'enum' key listing allowed string values to work around the JSON schema generation issue. For example, define the field as `color: str = Field(description='The detected color', json_schema_extra={'enum': ['red', 'blue', 'green']})` instead of using a Python Enum type.

from pydantic import BaseModel, Field
from enum import Enum

# Before (causes error):
class Color(str, Enum):
    RED = 'red'
    BLUE = 'blue'
    GREEN = 'green'

class Model(BaseModel):
    color: Color

# After (workaround):
class Model(BaseModel):
    color: str = Field(description='The detected color', json_schema_extra={'enum': ['red', 'blue', 'green']})

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics