Qwen2.5 VL AWQ 3B
Qwen2.5 VL AWQ 3B is a vision-language model that offers advanced capabilities such as visual analysis, agentic reasoning, long video comprehension, visual localization, and structured output generation. It supports 3 bilion parameters.
Model details
Category | Details |
---|---|
Model Name | Qwen2.5 VL |
Version | AWQ 3B |
Model Category | VLM |
Size | 3B params |
HuggingFace Model | Qwen/Qwen2.5-VL-3B-Instruct-AWQ |
OpenAI Compatible endpoint | Chat Completions |
License | Apache 2.0 |
Capabilities
Feature | Details |
---|---|
Tool Calling | ✅ |
Azion Long-term Support (LTS) | ✅ |
Context Length | 32k tokens |
Supports LoRA | ✅ |
Input data | Text + Image |
Usage
Basic chat completion
This is a basic chat completion request example using this model:
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", { "stream": true, "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Name the european capitals" } ]})
Property | Type | Description |
---|---|---|
stream | boolean | Indicates whether to stream the response. |
messages[] | array | Array of message objects, containing the system and user messages. |
messages[].role | string | The role of the message sender. |
messages[].content | string | The content of the message. |
Response example:
{ "id": "chatcmpl-e27716424abf4b3f891ff4850470cb09", "object": "chat.completion", "created": 1746821581, "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}
Property | Type | Description |
---|---|---|
id | string | Unique identifier for the chat completion. |
object | string | Type of object. |
created | number | Timestamp when the chat completion was created. |
model | string | Model used for chat completion. |
choices[] | array | Array containing choices made by the model. |
choices[].index | number | Index of the choice. |
choices[].message | object | Message returned by the model in the choice. |
choices[].message.role | string | Role of the message sender. |
choices[].message.reasoning_content | string | Reasoning behind the model’s response. |
choices[].message.content | string | Content of message sent by the model. |
choices[].message.tool_calls[] | array | Array of tool calls. |
choices[].logprobs | number | Log probabilities. |
choices[].finish_reason | string | Reason for finishing the response. |
usage | object | Contains information about token usage. |
usage.prompt_tokens | number | Number of tokens in the prompt. |
usage.total_tokens | number | Total number of tokens used. |
usage.completion_tokens | number | Number of tokens used in the completion. |
usage.prompt_tokens_details | string | Detailed information about prompt tokens. |
prompt_logprobs | number | Log probabilities for the prompt. |
Tool Calling Example
This is a tool calling request example using this model:
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", { "stream": true, "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" ] } } } ]})
Property | Type | Description |
---|---|---|
messages[] | array | Array containing the messages exchanged between the system and the user. |
messages[].role | string | The role of the message sender. |
messages[].content | string | The content of the message. |
tools[] | array | Array containing the tools used in the query. |
tools[].type | string | The type of the tool. |
tools[].function | object | The function being called by the tool. |
tools[].function.name | string | The name of the function. |
tools[].function.description | string | A description of the function. |
tools[].function.parameters | object | The parameters required by the function. |
Response example:
{ "id": "chatcmpl-88affc4730cf4219a06d2b15aad9ad44", "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-fd3311e75aed4cbfbeb7244ced77379f", "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}
Property | Type | Description |
---|---|---|
choices[] | array | Array containing the choices made by the assistant. |
choices[].index | integer | The index of the first choice. |
choices[].message | object | The message sent by the assistant in the first choice. |
choices[].message.role | string | The role of the assistant in the message. |
choices[].message.reasoning_content | null | The reasoning content. |
choices[].message.content | null | The content of the message. |
choices[].message.tool_calls[] | array | Array of tool calls invoked by the assistant in the message. |
choices[].message.tool_calls[].id | string | The ID of the tool call. |
choices[].message.tool_calls[].type | string | The type of the tool call. |
choices[].message.tool_calls[].function | object | The function called by the tool. |
choices[].message.tool_calls[].function.name | string | The name of the function called. |
choices[].message.tool_calls[].function.arguments | string | The arguments passed to the function in JSON format. |
logprobs | null | The log probabilities value. |
finish_reason | string | The reason why the completion finished. |
stop_reason | null | The reason why the completion was stopped. |
usage.prompt_tokens | integer | The number of prompt tokens used. |
usage.total_tokens | integer | The total number of tokens used. |
usage.completion_tokens | integer | The number of completion tokens used. |
usage.prompt_tokens_details | null | The details for prompt tokens. |
prompt_logprobs | null | Log probabilities for the prompt. |
Multimodal (text + image) example
This is a multimodal request example using this model:
const modelResponse = await Azion.AI.run("qwen-qwen25-vl-3b-instruct-awq", { "stream": true, "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" } } ] } ]})
Property | Type | Description |
---|---|---|
messages[] | array | Array containing the messages sent by the system and the user. |
messages[].role | string | The role of the message sender. |
messages[].content[] | array | Array containing the content objects in the message. |
messages[].content[] | object | The content object in the message. |
messages[].content[].type | string | The type of the content object. |
messages[].content[].image_url | object | The image URL object in the content object. |
messages[].content[].image_url.url | string | The URL of the image. |
stream | boolean | Indicates whether the response should be streamed. |
The response will be similar to the one in the basic chat completion example.
JSON schema
{ "$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 }, "tools": { "type": "array", "items": { "$ref": "#/components/schemas/ToolDefinition" } } }, "components": { "schemas": { "Message": { "oneOf": [ { "$ref": "#/components/schemas/SystemMessage" }, { "$ref": "#/components/schemas/UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage" }, { "$ref": "#/components/schemas/ToolMessage" } ] }, "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": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/TextContentItem" }, { "$ref": "#/components/schemas/ImageContentItem" } ] } } ] } } }, "AssistantMessage": { "oneOf": [ { "$ref": "#/components/schemas/AssistantMessageWithoutToolCalls" }, { "$ref": "#/components/schemas/AssistantMessageWithToolCalls" } ] }, "ToolMessage": { "type": "object", "required": [ "role", "content", "tool_call_id" ], "properties": { "role": { "enum": [ "tool" ] }, "content": { "type": "string" }, "tool_call_id": { "type": "string" } } }, "AssistantMessageWithoutToolCalls": { "type": "object", "required": [ "role", "content" ], "properties": { "role": { "type": "string", "enum": [ "assistant" ] }, "content": { "$ref": "#/components/schemas/TextContent" } }, "not": { "required": [ "tool_calls" ] } }, "AssistantMessageWithToolCalls": { "type": "object", "required": [ "role", "tool_calls" ], "properties": { "role": { "type": "string", "enum": [ "assistant" ] }, "tool_calls": { "type": "array", "items": { "$ref": "#/components/schemas/ToolCalls" } } } }, "TextContent": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/TextContentItem" } } ], "description": "Text content that can be provided either as a simple string or as an array of TextContentItem objects" }, "ImageContent": { "type": "array", "items": { "$ref": "#/components/schemas/ImageContentItem" } }, "TextContentItem": { "type": "object", "required": [ "type", "text" ], "properties": { "type": { "type": "string", "enum": [ "text" ] }, "text": { "type": "string" } } }, "ImageContentItem": { "type": "object", "required": [ "type", "image_url" ], "properties": { "type": { "type": "string", "enum": [ "image_url" ] }, "image_url": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "format": "uri" } } } } }, "ToolCalls": { "type": "object", "required": [ "function", "id", "type" ], "properties": { "function": { "type": "object", "required": [ "name", "arguments" ], "properties": { "name": { "type": "string" }, "arguments": { "type": "string" } } }, "id": { "type": "string" }, "type": { "enum": [ "function" ] } }, "description":"The name and arguments of a function that should be called, as generated by the model." }, "ToolDefinition": { "type": "object", "required": [ "type", "function" ], "properties": { "type": { "type": "string", "enum": [ "function" ] }, "function": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "parameters": { "type": "object", "additionalProperties": true }, "strict": { "type": "boolean", "default": false } } } }, "description": "Definition of a tool that can be used by the model" } } }}