Skip to content

Clarify support for tool calling and OpenAI Responses API #10038

@mickvangelderen

Description

@mickvangelderen

I'm trying out sglang to serve gpt-oss-120b instead of vLLM which I've been using so far because the documentation seemed to suggest that sglang supports tool calling and the OpenAI Responses API, although I can't find it anymore. I remember there being a compatibility table somewhere a few days ago that suggested tool calling was supported with the Responses API (but not chat?).

It would be helpful if the documentation is updated with an overview of what is supported exactly. In my testing I noticed that currently the built in tools are supported but not user defined client side tools: Input should be 'web_search_preview' or 'code_interpreter' [type=literal_error, input_value='function', input_type=str].

[2025-09-04 19:42:42] ERROR:    Exception in ASGI application                                                                                                                           │
│ Traceback (most recent call last):                                                                                                                                                      │
│   File "/usr/local/lib/python3.12/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.12/dist-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__                                                                              │
│     return await self.app(scope, receive, send)                                                                                                                                         │
│            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                         │
...
│   File "/sgl-workspace/sglang/python/sglang/srt/entrypoints/http_server.py", line 1049, in v1_responses_request                                                                         │
│     request_obj = ResponsesRequest(**request)                                                                                                                                           │
│                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                           │
│   File "/usr/local/lib/python3.12/dist-packages/pydantic/main.py", line 253, in __init__                                                                                                    │
│     validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)                                                                                              │
│                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                              │
│ pydantic_core._pydantic_core.ValidationError: 1 validation error for ResponsesRequest                                                                                                   │
│ tools.0.type                                                                                                                                                                            │
│   Input should be 'web_search_preview' or 'code_interpreter' [type=literal_error, input_value='function', input_type=str]                                                               │
│     For further information visit https://errors.pydantic.dev/2.11/v/literal_error          

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions