GPT-OSS 20B

GPT-OSS 20B é um modelo de linguagem grande com 20 bilhões de parâmetros, projetado para geração de texto, conversação e várias tarefas de processamento de linguagem natural. Este modelo open-source oferece desempenho robusto para uma ampla gama de aplicações.

Detalhes do modelo

CategoriaDetalhes
Nome do modeloGPT-OSS 20B
Versão20B
Categoria do modeloLarge Language Model (LLM)
Tamanho20B parâmetros
Modelo HuggingFacegpt-oss-20b
Endpoint compatível com a OpenAIChat Completions
LicençaApache 2.0

Capacidades

RecursoDetalhes
Tool Calling
Tamanho do Contexto131k tokens
Suporta LoRA
Dados de entradaTexto

Uso

Chat Completion Básico

Este é um exemplo básico de chat completion usando este modelo:

curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"stream": true,
"model": "gpt-oss-20b",
"max_tokens": 1024,
"messages": [
{"role": "system", "content": "Você é um assistente útil."},
{"role": "user", "content": "Liste as capitais europeias"}
]
}'

Resposta:

{"id":"chatcmpl-example","object":"chat.completion","created":1746821581,"model":"gpt-oss-20b","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"Claro! Aqui está uma lista de algumas capitais europeias...","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":9,"total_tokens":527,"completion_tokens":518,"prompt_tokens_details":null},"prompt_logprobs":null}
PropriedadeTipoDescrição
streambooleanIndica se deve transmitir a resposta em stream.
messages[]arrayArray de objetos de mensagem.
messages[].rolestringO papel do remetente da mensagem.
messages[].contentstringO conteúdo da mensagem.

Exemplo de Tool Calling

curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"stream": true,
"model": "gpt-oss-20b",
"max_tokens": 1024,
"messages": [
{"role": "system", "content": "Você é um assistente útil com acesso a ferramentas."},
{"role": "user", "content": "Qual é o clima em Londres?"}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obter o clima atual para uma localização",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "A cidade e estado"
}
},
"required": ["location"]
}
}
}
]
}'

Resposta:

{"id":"chatcmpl-tool-example","object":"chat.completion","created":1746821866,"model":"gpt-oss-20b","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":null,"tool_calls":[{"id":"chatcmpl-tool-fd3311e75aed4cbfbeb7244ced77379f","type":"function","function":{"name":"get_weather","arguments":"{\"location\": \"Londres\"}"}}]},"logprobs":null,"finish_reason":"tool_calls","stop_reason":null}],"usage":{"prompt_tokens":293,"total_tokens":313,"completion_tokens":20,"prompt_tokens_details":null},"prompt_logprobs":null}

Uso Avançado com Parâmetros

Este exemplo mostra como usar o modelo com parâmetros adicionais:

const modelResponse = await Azion.AI.run("gpt-oss-20b", {
"stream": true,
"max_tokens": 1024,
"temperature": 0.7,
"top_p": 0.9,
"messages": [
{
"role": "system",
"content": "Você é um assistente útil que fornece explicações detalhadas."
},
{
"role": "user",
"content": "Explique o conceito de machine learning em termos simples."
}
]
})
PropriedadeTipoDescrição
streambooleanIndica se deve transmitir a resposta em stream.
max_tokensintegerNúmero máximo de tokens a serem gerados.
temperaturenumberControla a aleatoriedade na saída (0.0 a 2.0).
top_pnumberControla a diversidade via nucleus sampling (0.0 a 1.0).
messages[]arrayArray de objetos de mensagem.
messages[].rolestringO papel do remetente da mensagem.
messages[].contentstringO conteúdo da mensagem.

Schema JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"messages"
],
"properties": {
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Message"
}
},
"temperature": {
"type": "number",
"minimum": 0,
"maximum": 2
},
"top_p": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1
},
"n": {
"type": "integer",
"minimum": 1,
"default": 1
},
"stream": {
"type": "boolean",
"default": false
},
"max_tokens": {
"type": "integer",
"minimum": 1
},
"presence_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2,
"default": 0
},
"frequency_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2,
"default": 0
}
},
"components": {
"schemas": {
"Message": {
"oneOf": [
{
"$ref": "#/components/schemas/SystemMessage"
},
{
"$ref": "#/components/schemas/UserMessage"
},
{
"$ref": "#/components/schemas/AssistantMessage"
}
]
},
"SystemMessage": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"$ref": "#/components/schemas/TextContent"
}
}
},
"UserMessage": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"$ref": "#/components/schemas/TextContent"
}
}
},
"AssistantMessage": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"$ref": "#/components/schemas/TextContent"
}
}
},
"TextContent": {
"type": "string",
"description": "Conteúdo de texto fornecido como string"
}
}
}
}