Skip to content

PydanticSchemaGenerationError #94

@08D20088

Description

@08D20088

I tried running python gradio_demo.py --trex2_api_token <your_token>, but I got the following error.

Running on local URL: http://127.0.0.1:7860

To create a public link, set share=True in launch().
IMPORTANT: You are using gradio version 4.22.0, however version 4.44.1 is available, please upgrade.

IMPORTANT: You are using gradio version 4.22.0, however version 4.44.1 is available, please upgrade.

IMPORTANT: You are using gradio version 4.22.0, however version 4.44.1 is available, please upgrade.

ERROR: Exception in ASGI application

  • Exception Group Traceback (most recent call last):
    | File "/usr/local/lib/python3.10/dist-packages/starlette/_utils.py", line 76, in collapse_excgroups
    | yield
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 174, in call
    | async with anyio.create_task_group() as task_group:
    | File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 772, in aexit
    | raise BaseExceptionGroup(
    | exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
    +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    | File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    | result = await app( # type: ignore[func-returns-value]
    | File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
    | return await self.app(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in call
    | await super().call(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 112, in call
    | await self.middleware_stack(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in call
    | raise exc
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in call
    | await self.app(scope, receive, _send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 173, in call
    | with recv_stream, send_stream, collapse_excgroups():
    | File "/usr/lib/python3.10/contextlib.py", line 153, in exit
    | self.gen.throw(typ, value, traceback)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
    | raise exc
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 175, in call
    | response = await self.dispatch_func(request, call_next)
    | File "/usr/local/lib/python3.10/dist-packages/gradio/route_utils.py", line 669, in dispatch
    | response = await call_next(request)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 153, in call_next
    | raise app_exc
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 140, in coro
    | await self.app(scope, receive_or_disconnect, send_no_error)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in call
    | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    | raise exc
    | File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    | await app(scope, receive, sender)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 714, in call
    | await self.middleware_stack(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 734, in app
    | await route.handle(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 288, in handle
    | await self.app(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 76, in app
    | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    | raise exc
    | File "/usr/local/lib/python3.10/dist-packages/starlette/exception_handler.py", line 42, in wrapped_app
    | await app(scope, receive, sender)
    | File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 73, in app
    | response = await f(request)
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 291, in app
    | solved_result = await solve_dependencies(
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 666, in solve_dependencies
    | ) = await request_body_to_args( # body_params checked above
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 899, in request_body_to_args
    | fields_to_extract = get_cached_model_fields(first_field.type
    )
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 659, in get_cached_model_fields
    | return get_model_fields(model)
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 285, in get_model_fields
    | return [
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 286, in
    | ModelField(field_info=field_info, name=name)
    | File "", line 6, in init
    | File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 111, in post_init
    | self._type_adapter: TypeAdapter[Any] = TypeAdapter(
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 209, in init
    | core_schema = _get_schema(type, config_wrapper, parent_depth=_parent_depth + 1)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 81, in get_schema
    | schema = gen.generate_schema(type
    )
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 499, in generate_schema
    | schema = self._generate_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
    | schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 744, in _generate_schema_inner
    | return self._annotated_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1679, in _annotated_schema
    | schema = self._apply_annotations(source_type, annotations)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1747, in _apply_annotations
    | schema = get_inner_schema(source_type)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in call
    | schema = self._handler(__source_type)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1829, in new_handler
    | schema = metadata_get_schema(source, get_inner_schema)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1825, in
    | lambda source, handler: handler(source)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in call
    | schema = self._handler(__source_type)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1728, in inner_handler
    | schema = self._generate_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
    | schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 764, in _generate_schema_inner
    | return self.match_type(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 847, in match_type
    | return self._match_generic_type(obj, origin)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 871, in _match_generic_type
    | return self._union_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1115, in _union_schema
    | choices.append(self.generate_schema(arg))
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 499, in generate_schema
    | schema = self._generate_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
    | schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 764, in _generate_schema_inner
    | return self.match_type(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 851, in match_type
    | return self._unknown_type_schema(obj)
    | File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 397, 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() 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.6/u/schema-for-unknown-type
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 112, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 173, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/lib/python3.10/contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.10/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 175, in call
response = await self.dispatch_func(request, call_next)
File "/usr/local/lib/python3.10/dist-packages/gradio/route_utils.py", line 669, in dispatch
response = await call_next(request)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 153, in call_next
raise app_exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 140, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 714, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 734, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 73, in app
response = await f(request)
File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 291, in app
solved_result = await solve_dependencies(
File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 666, in solve_dependencies
) = await request_body_to_args( # body_params checked above
File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 899, in request_body_to_args
fields_to_extract = get_cached_model_fields(first_field.type
)
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 659, in get_cached_model_fields
return get_model_fields(model)
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 285, in get_model_fields
return [
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 286, in
ModelField(field_info=field_info, name=name)
File "", line 6, in init
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 111, in post_init
self._type_adapter: TypeAdapter[Any] = TypeAdapter(
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 209, in init
core_schema = _get_schema(type, config_wrapper, parent_depth=_parent_depth + 1)
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 81, in get_schema
schema = gen.generate_schema(type
)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 499, in generate_schema
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 744, in _generate_schema_inner
return self._annotated_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1679, in _annotated_schema
schema = self._apply_annotations(source_type, annotations)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1747, in _apply_annotations
schema = get_inner_schema(source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in call
schema = self._handler(__source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1829, in new_handler
schema = metadata_get_schema(source, get_inner_schema)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1825, in
lambda source, handler: handler(source)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in call
schema = self._handler(__source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1728, in inner_handler
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 764, in _generate_schema_inner
return self.match_type(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 847, in match_type
return self._match_generic_type(obj, origin)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 871, in _match_generic_type
return self._union_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1115, in _union_schema
choices.append(self.generate_schema(arg))
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 499, in generate_schema
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 764, in _generate_schema_inner
return self.match_type(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 851, in match_type
return self._unknown_type_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 397, 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() 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.6/u/schema-for-unknown-type

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions