Skip to content

response_schema

autogen.beta.response.callable.response_schema #

response_schema(func: Callable[..., Coroutine[Any, Any, T]], *, name: str | None = None, description: str | None = None, schema: dict[str, Any] | None = None, sync_to_thread: bool = True, embed: bool = True) -> CallableResponse[T]
response_schema(func: Callable[..., T], *, name: str | None = None, description: str | None = None, schema: dict[str, Any] | None = None, sync_to_thread: bool = True, embed: bool = True) -> CallableResponse[T]
response_schema(func: None = None, *, name: str | None = None, description: str | None = None, schema: dict[str, Any] | None = None, sync_to_thread: bool = True, embed: bool = True) -> Callable[[ResponseHook[T]], CallableResponse[T]]
response_schema(func=None, *, name=None, description=None, schema=None, sync_to_thread=True, embed=True)
Source code in autogen/beta/response/callable.py
def response_schema(
    func: ResponseHook[T] | None = None,
    *,
    name: str | None = None,
    description: str | None = None,
    schema: dict[str, Any] | None = None,
    sync_to_thread: bool = True,
    embed: bool = True,
) -> Callable[[ResponseHook[T]], CallableResponse[T]] | CallableResponse[T]:
    def make_callable_schema(f: ResponseHook[T]) -> CallableResponse[T]:
        final_name = name or f.__name__

        validator, response_schema = _unwrap_message_to_fast_depends_decorator(
            f,
            final_name,
            sync_to_thread,
            embed,
        )

        return CallableResponse[T](
            validator,
            name=final_name,
            description=description or f.__doc__,
            schema=schema or response_schema.json_schema,
        )

    if func is not None:
        return make_callable_schema(func)
    return make_callable_schema