# GPT-OSS 20B

**GPT-OSS 20B** é um modelo de linguagem grande open-source com 20 bilhões de parâmetros, construído para geração de texto, conversação e outras tarefas de processamento de linguagem natural. Ele lê texto, retorna texto e aceita definições de ferramentas na requisição. [AI Inference](/pt-br/documentacao/plataforma/ai-inference/) executa o modelo sob o id `gpt-oss-20b`.

## Detalhes do modelo

O id do modelo é a string que seleciona este modelo, e é o primeiro argumento que `Azion.AI.run` recebe. O repositório no HuggingFace contém o model card.

| Detalhe                        | Valor                                                                   |
| ------------------------------ | ----------------------------------------------------------------------- |
| Nome do modelo                 | GPT-OSS 20B                                                             |
| Versão                         | 20B                                                                     |
| Categoria do modelo            | Large Language Model (LLM)                                              |
| Id do modelo                   | `gpt-oss-20b`                                                           |
| Tamanho                        | 20B parâmetros                                                          |
| Modelo no HuggingFace          | [openai/gpt-oss-20b](https://huggingface.co/openai/gpt-oss-20b)         |
| Endpoint compatível com OpenAI | [OpenAI Chat API](https://developers.openai.com/api/reference/overview) |
| Licença                        | [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)           |

## Capacidades

Estes valores pertencem ao modelo e não fazem parte do corpo da requisição. Para os campos que toda requisição de chat aceita, com seus tipos, padrões e limites, consulte [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/).

| Capacidade              | Valor       |
| ----------------------- | ----------- |
| Dados de entrada        | Texto       |
| Comprimento de contexto | 131k tokens |
| Chamada de ferramentas  | Sim         |
| Suporta LoRA            | Não         |

---

## Uso

Uma [função](/pt-br/documentacao/plataforma/functions/) invoca o modelo com `Azion.AI.run`, passando o id como primeiro argumento e um corpo de requisição compatível com OpenAI como segundo. Os exemplos abaixo usam esse binding. Para enviar o mesmo corpo ao endpoint HTTP compatível com OpenAI, consulte [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/).

### Chat completion

Esta requisição carrega uma mensagem de sistema, uma mensagem de usuário e os campos de amostragem que moldam a saída:

```ts
const modelResponse = await Azion.AI.run("gpt-oss-20b", {
  "stream": false,
  "max_tokens": 1024,
  "temperature": 0.7,
  "top_p": 0.9,
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user", "content": "Name the European capitals." }
  ]
})
```

O modelo responde com uma entrada em `choices`, e o texto gerado fica em `choices[0].message.content`:

```json
{
  "id": "chatcmpl-example",
  "object": "chat.completion",
  "created": 1767268800,
  "model": "gpt-oss-20b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": null,
        "content": "Sure! Here is a list of some European capitals...",
        "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
}
```

### Chamada de ferramentas

Uma requisição com chamada de ferramentas adiciona um array `tools` ao corpo. Cada entrada define `type` como `function` e carrega um objeto `function` com o nome que o modelo chama, uma descrição do que ele faz e seus `parameters` em formato JSON Schema:

```ts
const modelResponse = await Azion.AI.run("gpt-oss-20b", {
  "stream": false,
  "max_tokens": 1024,
  "messages": [
    { "role": "system", "content": "You are a helpful assistant with access to tools." },
    { "role": "user", "content": "What is the weather in London?" }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get the current weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state"
            }
          },
          "required": ["location"]
        }
      }
    }
  ]
})
```

Quando o modelo seleciona uma ferramenta, ele retorna `content` como `null`, nomeia a chamada em `tool_calls` com os argumentos que escolheu e define `finish_reason` como `tool_calls`:

```json
{
  "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-0123456789abcdef0123456789abcdef",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"location\": \"London\"}"
            }
          }
        ]
      },
      "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
}
```

---

## Recursos relacionados

- [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos.md): Todos os campos que um corpo de requisição aceita e o endpoint HTTP que recebe o mesmo corpo.
- [Modelos de AI](/pt-br/documentacao/plataforma/ai-inference/modelos.md): Os outros modelos que AI Inference executa e o id ao qual cada um responde.
- [AI Inference](/pt-br/documentacao/plataforma/ai-inference.md): O produto que executa este modelo.
- [Functions](/pt-br/documentacao/plataforma/functions.md): O produto cujo runtime contém o binding que os exemplos desta página chamam.
- [Limites do AI Inference](/pt-br/documentacao/plataforma/ai-inference/limites.md): As condições sob as quais a Azion encerra ou desprovisiona um modelo.
- [Glossário](/pt-br/documentacao/plataforma/ai-inference/glossario.md): Onde id do modelo, comprimento de contexto e o restante do vocabulário do AI Inference são definidos.
