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

CategoryDetails
Model NameQwen2.5 VL
VersionAWQ 3B
Model CategoryVLM
Size3B params
HuggingFace ModelQwen/Qwen2.5-VL-3B-Instruct-AWQ
OpenAI Compatible endpointChat Completions
LicenseApache 2.0

Capabilities

FeatureDetails
Tool Calling
Azion Long-term Support (LTS)
Context Length32k tokens
Supports LoRA
Input dataText + 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"
}
]
})
PropertyTypeDescription
streambooleanIndicates whether to stream the response.
messages[]arrayArray of message objects, containing the system and user messages.
messages[].rolestringThe role of the message sender.
messages[].contentstringThe 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
}
PropertyTypeDescription
idstringUnique identifier for the chat completion.
objectstringType of object.
creatednumberTimestamp when the chat completion was created.
modelstringModel used for chat completion.
choices[]arrayArray containing choices made by the model.
choices[].indexnumberIndex of the choice.
choices[].messageobjectMessage returned by the model in the choice.
choices[].message.rolestringRole of the message sender.
choices[].message.reasoning_contentstringReasoning behind the model’s response.
choices[].message.contentstringContent of message sent by the model.
choices[].message.tool_calls[]arrayArray of tool calls.
choices[].logprobsnumberLog probabilities.
choices[].finish_reasonstringReason for finishing the response.
usageobjectContains information about token usage.
usage.prompt_tokensnumberNumber of tokens in the prompt.
usage.total_tokensnumberTotal number of tokens used.
usage.completion_tokensnumberNumber of tokens used in the completion.
usage.prompt_tokens_detailsstringDetailed information about prompt tokens.
prompt_logprobsnumberLog 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"
]
}
}
}
]
})
PropertyTypeDescription
messages[]arrayArray containing the messages exchanged between the system and the user.
messages[].rolestringThe role of the message sender.
messages[].contentstringThe content of the message.
tools[]arrayArray containing the tools used in the query.
tools[].typestringThe type of the tool.
tools[].functionobjectThe function being called by the tool.
tools[].function.namestringThe name of the function.
tools[].function.descriptionstringA description of the function.
tools[].function.parametersobjectThe 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
}
PropertyTypeDescription
choices[]arrayArray containing the choices made by the assistant.
choices[].indexintegerThe index of the first choice.
choices[].messageobjectThe message sent by the assistant in the first choice.
choices[].message.rolestringThe role of the assistant in the message.
choices[].message.reasoning_contentnullThe reasoning content.
choices[].message.contentnullThe content of the message.
choices[].message.tool_calls[]arrayArray of tool calls invoked by the assistant in the message.
choices[].message.tool_calls[].idstringThe ID of the tool call.
choices[].message.tool_calls[].typestringThe type of the tool call.
choices[].message.tool_calls[].functionobjectThe function called by the tool.
choices[].message.tool_calls[].function.namestringThe name of the function called.
choices[].message.tool_calls[].function.argumentsstringThe arguments passed to the function in JSON format.
logprobsnullThe log probabilities value.
finish_reasonstringThe reason why the completion finished.
stop_reasonnullThe reason why the completion was stopped.
usage.prompt_tokensintegerThe number of prompt tokens used.
usage.total_tokensintegerThe total number of tokens used.
usage.completion_tokensintegerThe number of completion tokens used.
usage.prompt_tokens_detailsnullThe details for prompt tokens.
prompt_logprobsnullLog 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"
}
}
]
}
]
})
PropertyTypeDescription
messages[]arrayArray containing the messages sent by the system and the user.
messages[].rolestringThe role of the message sender.
messages[].content[]arrayArray containing the content objects in the message.
messages[].content[]objectThe content object in the message.
messages[].content[].typestringThe type of the content object.
messages[].content[].image_urlobjectThe image URL object in the content object.
messages[].content[].image_url.urlstringThe URL of the image.
streambooleanIndicates 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"
}
}
}
}