microsoft/autogen · error · TypeError
Expected dict or {cls.__name__} instance, got {type(value)}
Error message
Expected dict or {cls.__name__} instance, got {type(value)} What it means
Error "Expected dict or {cls.__name__} instance, got {type(value)}" thrown in microsoft/autogen.
Source
Thrown at python/packages/autogen-core/src/autogen_core/_image.py:97
# Returns openai.types.chat.ChatCompletionContentPartImageParam, which is a TypedDict
# We don't use the explicit type annotation so that we can avoid a dependency on the OpenAI Python SDK in this package.
def to_openai_format(self, detail: Literal["auto", "low", "high"] = "auto") -> Dict[str, Any]:
return {"type": "image_url", "image_url": {"url": self.data_uri, "detail": detail}}
@classmethod
def __get_pydantic_core_schema__(cls, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema:
# Custom validation
def validate(value: Any, validation_info: ValidationInfo) -> Image:
if isinstance(value, dict):
base_64 = cast(str | None, value.get("data")) # type: ignore
if base_64 is None:
raise ValueError("Expected 'data' key in the dictionary")
return cls.from_base64(base_64)
elif isinstance(value, cls):
return value
else:
raise TypeError(f"Expected dict or {cls.__name__} instance, got {type(value)}")
# Custom serialization
def serialize(value: Image) -> dict[str, Any]:
return {"data": value.to_base64()}
return core_schema.with_info_after_validator_function(
validate,
core_schema.any_schema(), # Accept any type; adjust if needed
serialization=core_schema.plain_serializer_function_ser_schema(serialize),
)
def _convert_base64_to_data_uri(base64_image: str) -> str:
def _get_mime_type_from_data_uri(base64_image: str) -> str:
# Decode the base64 string
image_data = base64.b64decode(base64_image)
# Check the first few bytes for known signatures
if image_data.startswith(b"\xff\xd8\xff"):View on GitHub (pinned to 027ecf0a37)
Solutions
- Pass a dict or an instance of the expected class
Example fix
Construct the proper model instance instead of the raw value
When it happens
Trigger: Thrown at python/packages/autogen-core/src/autogen_core/_image.py:97 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microsoft/autogen@027ecf0a37 (2026-08-15).
Data as JSON: /api/errors/e0398aa3a706fe6b.
Report an issue: GitHub.