provider/ prefix
on the model string.
Official OpenAI SDKs
Streaming
Server-sent events, terminated bydata: [DONE] — the shape an OpenAI SDK
already expects.
How a streamed failure arrives
The status is decided once, before a byte of the body exists.
The missing sentinel is the point:
[DONE] means the model finished, and
sending one after a failure would tell a client the answer is complete when it
is truncated. OpenAI does not send one either.
Other OpenAI-compatible tools
Anything that accepts an OpenAI base URL should work — LangChain, LlamaIndex, Continue, and similar. Two rules:1
Base URL includes /v1
http://localhost:8080/v1. Tools that append /v1 themselves take
http://localhost:8080.2
Model strings keep the provider prefix
openai/gpt-5-nano, not gpt-5-nano. A tool that hardcodes a bare model
name will get a 400.There is no
/v1/models endpoint, so tools that discover models by listing
them will find nothing. Configure the model string by hand; the
roster is the list.Errors
The response body is the standard OpenAI envelope, so your SDK raises its own typed exception. warpllm adds fields alongside it that an HTTP caller can read and an SDK will ignore:Retry-After is re-emitted as a real HTTP header, not only a body
field — standard clients and proxies back off on the header and never read the
JSON.
See Errors for the full field list.
Next
HTTP API reference
Schemas and an interactive playground.