YOLO-World
YOLO-World copied to clipboard
pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for <class 'starlette.requests.Request'>.
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/type_adapter.py", line 271, in _init_core_attrs
self.core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/type_adapter.py", line 55, in _getattr_no_parents
raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/middleware/cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/middleware/cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/routing.py", line 291, in app
solved_result = await solve_dependencies(
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/dependencies/utils.py", line 666, in solve_dependencies
) = await request_body_to_args( # body_params checked above
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/dependencies/utils.py", line 891, in request_body_to_args
fields_to_extract = get_cached_model_fields(first_field.type_)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/_compat.py", line 659, in get_cached_model_fields
return get_model_fields(model)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/_compat.py", line 285, in get_model_fields
return [
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/_compat.py", line 286, in <listcomp>
ModelField(field_info=field_info, name=name)
File "<string>", line 6, in __init__
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/fastapi/_compat.py", line 111, in __post_init__
self._type_adapter: TypeAdapter[Any] = TypeAdapter(
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/type_adapter.py", line 228, in __init__
self._init_core_attrs(
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/type_adapter.py", line 290, in _init_core_attrs
core_schema = schema_generator.generate_schema(self._type)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 610, in generate_schema
schema = self._generate_schema_inner(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 863, in _generate_schema_inner
return self._annotated_schema(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 1977, in _annotated_schema
schema = self._apply_annotations(source_type, annotations)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 2056, in _apply_annotations
schema = get_inner_schema(source_type)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_schema_generation_shared.py", line 84, in __call__
schema = self._handler(source_type)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 2131, in new_handler
schema = metadata_get_schema(source, get_inner_schema)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 2127, in <lambda>
lambda source, handler: handler(source)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_schema_generation_shared.py", line 84, in __call__
schema = self._handler(source_type)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 2037, in inner_handler
schema = self._generate_schema_inner(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 884, in _generate_schema_inner
return self.match_type(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 986, in match_type
return self._match_generic_type(obj, origin)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 1014, in _match_generic_type
return self._union_schema(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 1325, in _union_schema
choices.append(self.generate_schema(arg))
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 610, in generate_schema
schema = self._generate_schema_inner(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 884, in _generate_schema_inner
return self.match_type(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 995, in match_type
return self._unknown_type_schema(obj)
File "/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_generate_schema.py", line 513, in _unknown_type_schema
raise PydanticSchemaGenerationError(
pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for <class 'starlette.requests.Request'>. Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implement `__get_pydantic_core_schema__` on your type to fully support it.
If you got this error by calling handler(<some type>) within `__get_pydantic_core_schema__` then you likely need to call `handler.generate_schema(<some type>)` since we do not call `__get_pydantic_core_schema__` on `<some type>` otherwise to avoid infinite recursion.
For further information visit https://errors.pydantic.dev/2.10/u/schema-for-unknown-type
我在修改/home/user/anaconda3/envs/yjm_yolo_world/lib/python3.8/site-packages/pydantic/_internal/_config.py:249
config_defaults = ConfigDict(
title=None,
str_to_lower=False,
str_to_upper=False,
str_strip_whitespace=False,
str_min_length=0,
str_max_length=None,
# let the model / dataclass decide how to handle it
extra=None,
frozen=False,
populate_by_name=False,
use_enum_values=False,
validate_assignment=False,
arbitrary_types_allowed=True, # 原来为False
from_attributes=False,
loc_by_alias=True,
alias_generator=None,
model_title_generator=None,
field_title_generator=None,
ignored_types=(),
allow_inf_nan=True,
json_schema_extra=None,
strict=False,
revalidate_instances='never',
ser_json_timedelta='iso8601',
ser_json_bytes='utf8',
val_json_bytes='utf8',
ser_json_inf_nan='null',
validate_default=False,
validate_return=False,
protected_namespaces=('model_validate', 'model_dump'),
hide_input_in_errors=False,
json_encoders=None,
defer_build=False,
schema_generator=None,
plugin_settings=None,
json_schema_serialization_defaults_required=False,
json_schema_mode_override=None,
coerce_numbers_to_str=False,
regex_engine='rust-regex',
validation_error_cause=False,
use_attribute_docstrings=False,
cache_strings=True,
)
将参数设置为arbitrary_types_allowed=True后修复了该问题