Instructions to use openai/gpt-oss-20b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use openai/gpt-oss-20b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="openai/gpt-oss-20b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("openai/gpt-oss-20b") model = AutoModelForCausalLM.from_pretrained("openai/gpt-oss-20b", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- HuggingChat
- Notebooks
- Google Colab
- Kaggle
- AMD Developer Cloud
- Local Apps Settings
- vLLM
How to use openai/gpt-oss-20b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "openai/gpt-oss-20b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openai/gpt-oss-20b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/openai/gpt-oss-20b
- SGLang
How to use openai/gpt-oss-20b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "openai/gpt-oss-20b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openai/gpt-oss-20b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "openai/gpt-oss-20b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openai/gpt-oss-20b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use openai/gpt-oss-20b with Docker Model Runner:
docker model run hf.co/openai/gpt-oss-20b
Cannot retrieve streamed reasoning output from openai/gpt-oss-20b with vLLM and LangChain
Hi everyone,
I'm running the openai/gpt-oss-20b model locally via a Docker container using vllm-openai, and trying to stream the reasoning output through LangChain's ChatOpenAI.
My goal is to receive intermediate reasoning steps in the following format during streaming:
{'type': 'reasoning', 'text': 'the chunk of content generated by the reasoning'}
However, the only thing I get during the reasoning phase is this:
{'type': 'reasoning', 'status': 'in_progress'}
Then, after a pause (presumably while the model is reasoning), the stream continues—but only with 'type': 'text' tokens, like so:
[{'type': 'text', 'text': '":', 'index': 1}]
[{'type': 'text', 'text': ' "', 'index': 1}]
[{'type': 'text', 'text': '6', 'index': 1}]
[{'type': 'text', 'text': '",\n', 'index': 1}]
...
I have checked LangChain, OpenAI, and vLLM docs to check for potential missing flag or configuration, without finding answers.
Here is the code snippet
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model_name="gpt-oss-20b",
output_version="responses/v1",
base_url="http://localhost:8000/v1",
api_key="sk-no-key",
temperature=0,
request_timeout=360,
max_retries=0,
reasoning_effort="medium",
streaming=True,
)
chain = promt_template | llm
stream_iter = chain.stream({"context": context_text, "question": prompt_question})
for chunk in stream_iter:
print(chunk.content if hasattr(chunk, "content") else chunk, flush=True)
Setup
- Model :
openai/gpt-oss-20bdownloaded locally - Docker image :
vllm/vllm-openai:v0.10.1 langchain>=0.3.27langchain-openai>=0.3.33
Thank you in advance for any help !
in stream() . stream_mode may be "messages"
https://github.com/langchain-ai/langgraph/discussions/3215
Hi, I got the same error, have any update?