# Qwen2.5 VL AWQ 3B

**Qwen2.5 VL AWQ 3B** é um vision-language model com 3 bilhões de parâmetros. Ele lê texto e imagens, retorna texto e realiza análise visual, raciocínio de agente, compreensão de vídeo longo, localização visual e geração de saída estruturada. [AI Inference](/pt-br/documentacao/plataforma/ai-inference/) executa o modelo sob o id `qwen-qwen25-vl-3b-instruct-awq`.

## Detalhes do modelo

O id é o que uma requisição envia para alcançar este modelo, e `Azion.AI.run` o recebe como primeiro argumento. O repositório no HuggingFace contém o model card.

| Detalhe                        | Valor                                                                                     |
| ------------------------------ | ----------------------------------------------------------------------------------------- |
| Nome do modelo                 | Qwen2.5 VL                                                                                |
| Versão                         | AWQ 3B                                                                                    |
| Categoria do modelo            | Vision-Language Model (VLM)                                                               |
| Id do modelo                   | `qwen-qwen25-vl-3b-instruct-awq`                                                          |
| Tamanho                        | 3B parâmetros                                                                             |
| Modelo no HuggingFace          | [Qwen/Qwen2.5-VL-3B-Instruct-AWQ](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct-AWQ) |
| 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

Estas capacidades são propriedades do modelo, e o corpo da requisição não as define. Para os campos que uma 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 e imagem |
| Comprimento de contexto | 32k tokens     |
| Chamada de ferramentas  | Sim            |
| Suporta LoRA            | Sim            |

---

## Uso

Você chama este modelo a partir de uma [função](/pt-br/documentacao/plataforma/functions/), por meio do binding `Azion.AI.run`. O primeiro argumento é o id do modelo, e o segundo é um corpo de requisição compatível com OpenAI. Cada exemplo desta página usa esse binding. Para a forma HTTP da mesma requisição, consulte [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/).

### Chat completion

Esta requisição carrega uma mensagem de sistema que define o comportamento do modelo e uma mensagem de usuário que contém o prompt:

```ts
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", {
  "stream": false,
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user", "content": "Name the European capitals." }
  ]
})
```

Uma entrada chega em `choices`, e o texto que o modelo gerou fica em `choices[0].message.content`:

```json
{
  "id": "chatcmpl-0123456789abcdef0123456789abcdef",
  "object": "chat.completion",
  "created": 1767268800,
  "model": "qwen-qwen25-vl-3b-instruct-awq",
  "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

Um array `tools` declara as funções que o modelo pode chamar. Cada entrada define `type` como `function` e carrega um objeto `function` com três campos: o `name` que o modelo retorna, uma `description` do que a função faz e os `parameters` que ela aceita, escritos como um objeto JSON Schema:

```ts
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", {
  "stream": false,
  "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"]
        }
      }
    }
  ]
})
```

Uma resposta que seleciona uma ferramenta carrega `null` em `content`, uma entrada em `tool_calls` com o nome da função e os argumentos que o modelo escolheu, e `tool_calls` em `finish_reason`:

```json
{
  "id": "chatcmpl-fedcba9876543210fedcba9876543210",
  "object": "chat.completion",
  "created": 1746821866,
  "model": "qwen-qwen25-vl-3b-instruct-awq",
  "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
}
```

### Entrada multimodal

Uma mensagem de usuário que carrega uma imagem define `content` como um array de partes em vez de uma string. Cada parte indica o seu `type`: uma parte `text` contém o prompt, e uma parte `image_url` contém a URL de onde o modelo lê a imagem. Para as partes de conteúdo que uma mensagem aceita, consulte [Objetos de mensagem](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos/#objetos-de-mensagem).

Esta requisição envia uma parte de texto e uma parte de imagem dentro da mesma mensagem de usuário:

```ts
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", {
  "stream": false,
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "What is in this image?" },
        { "type": "image_url", "image_url": { "url": "https://example.com/image.jpg" } }
      ]
    }
  ]
})
```

O modelo retorna o mesmo objeto de resposta de um chat completion, e o que ele leu na imagem fica em `choices[0].message.content`.

---

## Recursos relacionados

- [Invocação de modelos](/pt-br/documentacao/plataforma/ai-inference/invocacao-de-modelos.md): Os campos da requisição, os objetos de mensagem e o endpoint HTTP que recebe o mesmo corpo.
- [Modelos de AI](/pt-br/documentacao/plataforma/ai-inference/modelos.md): O catálogo de modelos que AI Inference executa, com o id e as capacidades de cada um.
- [AI Inference](/pt-br/documentacao/plataforma/ai-inference.md): O produto que carrega e executa este modelo.
- [Functions](/pt-br/documentacao/plataforma/functions.md): O produto cujo runtime contém o binding que estes exemplos chamam.
- [LoRA Fine-Tune](/pt-br/documentacao/plataforma/ai-inference/lora-fine-tune.md): A extensão do AI Inference que adapta um modelo com LoRA, e os modelos que a aceitam.
- [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.
