furiosa-ai/gpt-oss-20b
- License
- apache-2.0
- Size
- not mirrored yet
No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from furiosa-ai/gpt-oss-20b
All models by furiosa-ai →No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from furiosa-ai/gpt-oss-20b
All models by furiosa-ai →This repository contains openai/gpt-oss-20b together with a Furiosa Executable Bundle (FXB) for running it on FuriosaAI RNGD with Furiosa-LLM. The same model also runs on other frameworks (such as vLLM, SGLang, and Transformers); for usage with those, see the upstream openai/gpt-oss-20b model card.
gpt-oss-20b is OpenAI's smaller open-weight reasoning model, designed for lower-latency and on-device use cases. It is an auto-regressive Mixture-of-Experts (MoE) transformer that emits responses in the harmony response format, separating the model's chain-of-thought reasoning from its final answer and carrying native support for tool calling and configurable reasoning effort. Its intended use is the same as the upstream openai/gpt-oss-20b, and it is released under the Apache 2.0 License.
The MoE expert weights are quantized to MXFP4, the format gpt-oss ships in upstream. The remaining components (attention, router, and embeddings) stay in higher precision.
--reasoning-parser flag is required. The reasoning depth is controllable per request through reasoning_effort ("low", "medium", "high").openai tool-call parserOn RNGD, gpt-oss-20b runs with a tensor-parallel size of 8 PEs, which maps to a single RNGD card (8 PEs per card).
To run this model with Furiosa-LLM, follow the example commands below after installing Furiosa-LLM and its prerequisites.
The simplest way to serve the model is:
Reasoning works out of the box (the harmony format is auto-detected), so no
--reasoning-parser flag is needed. The reasoning content is returned in a
separate field (see Basic Usage below).
To also enable tool (function) calling, add the openai tool-call parser:
When the server is ready, you will see:
The server exposes an OpenAI-compatible API. You can send a request with curl:
gpt-oss-20b returns its reasoning separately from the final answer:
response.choices[].message.reasoning (non-streaming)response.choices[].delta.reasoning (streaming)Note: The
reasoningfield is not part of the OpenAI API specification but is a widely followed convention OpenAI recommends (also used by the OpenAI Agents SDK, vLLM, and others). It appears only in responses that contain reasoning content; accessing it otherwise raises anAttributeError.
Reasoning effort. You can control how much effort the model spends reasoning
with the reasoning_effort parameter ("low", "medium", or "high"):
Tool calling. With the server launched using
--enable-auto-tool-choice --tool-call-parser openai (see
Launch the server), pass tools in the request and let the
model decide when to call them. See the
Tool Calling guide
for a complete client example and details on tool-choice options.
furiosa-llm serve) — full OpenAI-compatible API reference and serving options# Launch the server, listening on port 8000 by defaultfuriosa-llm serve furiosa-ai/gpt-oss-20bfuriosa-llm serve furiosa-ai/gpt-oss-20b \ --enable-auto-tool-choice \ --tool-call-parser openaiINFO: Started server process [27507]INFO: Waiting for application startup.INFO: Application startup complete.INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "furiosa-ai/gpt-oss-20b", "messages": [{"role": "user", "content": "What is the capital of France?"}] }' \ | python -m json.toolfrom openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create( model="furiosa-ai/gpt-oss-20b", messages=[{"role": "user", "content": "How many r's are in 'strawberry'?"}],)
print("Reasoning:", response.choices[0].message.reasoning)print("Answer:", response.choices[0].message.content)# Request high reasoning effortresponse = client.chat.completions.create( model="furiosa-ai/gpt-oss-20b", messages=[{"role": "user", "content": "How many r's are in 'strawberry'?"}], extra_body={"reasoning_effort": "high"},)print(response.choices[0].message.content)