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
| Categoria | Detalhes |
|---|---|
| Nome do modelo | GPT-OSS 20B |
| Versão | 20B |
| Categoria do modelo | Large Language Model (LLM) |
| Tamanho | 20B parâmetros |
| Modelo HuggingFace | gpt-oss-20b |
| Endpoint compatível com a OpenAI | Chat Completions |
| Licença | Apache 2.0 |
Capacidades
| Recurso | Detalhes |
|---|---|
| Tool Calling | ✅ |
| Tamanho do Contexto | 131k tokens |
| Suporta LoRA | ❌ |
| Dados de entrada | Texto |
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}| Propriedade | Tipo | Descrição |
|---|---|---|
stream | boolean | Indica se deve transmitir a resposta em stream. |
messages[] | array | Array de objetos de mensagem. |
messages[].role | string | O papel do remetente da mensagem. |
messages[].content | string | O 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." } ]})| Propriedade | Tipo | Descrição |
|---|---|---|
stream | boolean | Indica se deve transmitir a resposta em stream. |
max_tokens | integer | Número máximo de tokens a serem gerados. |
temperature | number | Controla a aleatoriedade na saída (0.0 a 2.0). |
top_p | number | Controla a diversidade via nucleus sampling (0.0 a 1.0). |
messages[] | array | Array de objetos de mensagem. |
messages[].role | string | O papel do remetente da mensagem. |
messages[].content | string | O 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" } } }}