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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions