请求体 文本输入
流式输出
图像输入
视频输入
全模态
工具调用
联网搜索
异步调用
文档理解
文字提取
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-plus" ,
messages=[
{'role' : 'system' , 'content' : 'You are a helpful assistant.' },
{'role' : 'user' , 'content' : '你是谁?' }],
)
print (completion.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
async function main ( ) {
const completion = await openai.chat .completions .create ({
model : "qwen-plus" ,
messages : [
{ role : "system" , content : "You are a helpful assistant." },
{ role : "user" , content : "你是谁?" }
],
});
console .log (JSON .stringify (completion))
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你是谁?"
}
]
}'
<?php
$url = 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' ;
$apiKey = getenv ('DASHSCOPE_API_KEY' );
$headers = [
'Authorization: Bearer ' .$apiKey ,
'Content-Type: application/json'
];
$data = [
"model" => "qwen-plus" ,
"messages" => [
[
"role" => "system" ,
"content" => "You are a helpful assistant."
],
[
"role" => "user" ,
"content" => "你是谁?"
]
]
];
$ch = curl_init ();
curl_setopt ($ch , CURLOPT_URL, $url );
curl_setopt ($ch , CURLOPT_POST, true );
curl_setopt ($ch , CURLOPT_POSTFIELDS, json_encode ($data ));
curl_setopt ($ch , CURLOPT_RETURNTRANSFER, true );
curl_setopt ($ch , CURLOPT_HTTPHEADER, $headers );
$response = curl_exec ($ch );
if (curl_errno ($ch )) {
echo 'Curl error: ' . curl_error ($ch );
}
curl_close ($ch );
echo $response ;
?>
using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main (string [] args )
{
string ? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY" );
if (string .IsNullOrEmpty(apiKey))
{
Console.WriteLine("API Key 未设置。请确保环境变量 'DASHSCOPE_API_KEY' 已设置。" );
return ;
}
string url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" ;
string jsonContent = @"{
""model"": ""qwen-plus"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""你是谁?""
}
]
}" ;
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
Console.WriteLine(result);
}
private static async Task<string > SendPostRequestAsync (string url, string jsonContent, string apiKey )
{
using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json" ))
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer" , apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json" ));
HttpResponseMessage response = await httpClient.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"请求失败: {response.StatusCode} " ;
}
}
}
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
)
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
}
type RequestBody struct {
Model string `json:"model"`
Messages []Message `json:"messages"`
}
func main () {
client := &http.Client{}
requestBody := RequestBody{
Model: "qwen-plus" ,
Messages: []Message{
{
Role: "system" ,
Content: "You are a helpful assistant." ,
},
{
Role: "user" ,
Content: "你是谁?" ,
},
},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
log.Fatal(err)
}
req, err := http.NewRequest("POST" , "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" , bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
apiKey := os.Getenv("DASHSCOPE_API_KEY" )
req.Header.Set("Authorization" , "Bearer " +apiKey)
req.Header.Set("Content-Type" , "application/json" )
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n" , bodyText)
}
OpenAI 未提供 Java SDK。如需通过 Java SDK 调用,请参考本文的DashScope 章节。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import com.google.gson.Gson;
public class Main {
static class Message {
String role;
String content;
public Message (String role, String content) {
this .role = role;
this .content = content;
}
}
static class RequestBody {
String model;
Message[] messages;
public RequestBody (String model, Message[] messages) {
this .model = model;
this .messages = messages;
}
}
public static void main (String[] args) {
try {
RequestBody requestBody = new RequestBody (
"qwen-plus" ,
new Message [] {
new Message ("system" , "You are a helpful assistant." ),
new Message ("user" , "你是谁?" )
}
);
Gson gson = new Gson ();
String jsonInputString = gson.toJson(requestBody);
URL url = new URL ("https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" );
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST" );
httpURLConnection.setRequestProperty("Content-Type" , "application/json; utf-8" );
httpURLConnection.setRequestProperty("Accept" , "application/json" );
String apiKey = System.getenv("DASHSCOPE_API_KEY" );
String auth = "Bearer " + apiKey;
httpURLConnection.setRequestProperty("Authorization" , auth);
httpURLConnection.setDoOutput(true );
try (OutputStream os = httpURLConnection.getOutputStream()) {
byte [] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
os.write(input, 0 , input.length);
}
int responseCode = httpURLConnection.getResponseCode();
System.out.println("Response Code: " + responseCode);
try (BufferedReader br = new BufferedReader (new InputStreamReader (httpURLConnection.getInputStream(), StandardCharsets.UTF_8))) {
StringBuilder response = new StringBuilder ();
String responseLine;
while ((responseLine = br.readLine()) != null ) {
response.append(responseLine.trim());
}
System.out.println("Response Body: " + response);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0 );
}
}
}
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-plus" ,
messages=[{'role' : 'system' , 'content' : 'You are a helpful assistant.' },
{'role' : 'user' , 'content' : '你是谁?' }],
stream=True ,
stream_options={"include_usage" : True }
)
for chunk in completion:
print (chunk.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
async function main ( ) {
const completion = await openai.chat .completions .create ({
model : "qwen-plus" ,
messages : [
{"role" : "system" , "content" : "You are a helpful assistant." },
{"role" : "user" , "content" : "你是谁?" }
],
stream : true ,
});
for await (const chunk of completion) {
console .log (JSON .stringify (chunk));
}
}
main ();
curl --location "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你是谁?"
}
],
"stream":true
}'
关于大模型分析图像的更多用法,请参考:视觉理解 。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-vl-plus" ,
messages=[{"role" : "user" ,"content" : [
{"type" : "text" ,"text" : "这是什么" },
{"type" : "image_url" ,
"image_url" : {"url" : "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg" }}
]}]
)
print (completion.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
async function main ( ) {
const response = await openai.chat .completions .create ({
model : "qwen-vl-max" ,
messages : [{role : "user" ,content : [
{ type : "text" , text : "这是什么?" },
{ type : "image_url" ,image_url : {"url" : "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg" }}
]}]
});
console .log (JSON .stringify (response));
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-plus",
"messages": [{
"role": "user",
"content":
[{"type": "text","text": "这是什么"},
{"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}}]
}]
}'
关于大模型分析视频的更多用法,请参考:视觉理解 。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-vl-max-latest" ,
messages=[{
"role" : "user" ,
"content" : [
{
"type" : "video" ,
"video" : [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg" ]
},
{
"type" : "text" ,
"text" : "描述这个视频的具体过程"
}]}]
)
print (completion.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI ({
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
});
async function main ( ) {
const response = await openai.chat .completions .create ({
model : "qwen-vl-max-latest" ,
messages : [{
role : "user" ,
content : [
{
type : "video" ,
video : [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg" ,
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
type : "text" ,
text : "描述这个视频的具体过程"
}
]}]
});
console .log (JSON .stringify (response));
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-max-latest",
"messages": [
{
"role": "user",
"content": [
{
"type": "video",
"video": [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
"type": "text",
"text": "描述这个视频的具体过程"
}
]
}
]
}'
全模态模型的更多用法请参见全模态(Qwen-Omni) 。 Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-omni-turbo" ,
messages=[
{"role" : "system" ,
"content" : [{"type" :"text" ,"text" : "You are a helpful assistant." }]},
{"role" : "user" ,
"content" : [{"type" : "video_url" ,
"video_url" : {"url" : "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4" },},
{"type" : "text" , "text" : "视频的内容是什么?" }]}],
modalities=["text" ,"audio" ],
audio={"voice" : "Cherry" , "format" : "wav" },
stream=True
)
for chunk in completion:
print (chunk.choices[0 ].delta)
Node.js
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
const completion = await openai.chat .completions .create ({
model : "qwen-omni-turbo" ,
messages : [
{"role" : "system" ,
"content" : [{"type" :"text" ,"text" : "You are a helpful assistant." }]},
{"role" : "user" ,
"content" : [{"type" : "video_url" ,
"video_url" : {"url" : "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4" },},
{"type" : "text" , "text" : "视频的内容是什么?" }]}],
stream : true ,
modalities : ["text" , "audio" ],
audio : { voice : "Cherry" , format : "wav" }
});
for await (const chunk of completion) {
console .log (chunk.choices [0 ].delta );
}
curl
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-omni-turbo",
"messages": [
{
"role": "system",
"content": [{"type":"text","text": "You are a helpful assistant."}]},
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4"
}
},
{
"type": "text",
"text": "视频的内容是什么"
}
]
}
],
"stream":true,
"modalities":["text","audio"],
"audio":{"voice":"Cherry","format":"wav"}
}'
完整的 Function Calling 流程代码请参考:工具调用(Function Call) 。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
tools = [
{
"type" : "function" ,
"function" : {
"name" : "get_current_time" ,
"description" : "当你想知道现在的时间时非常有用。" ,
"parameters" : {}
}
},
{
"type" : "function" ,
"function" : {
"name" : "get_current_weather" ,
"description" : "当你想查询指定城市的天气时非常有用。" ,
"parameters" : {
"type" : "object" ,
"properties" : {
"location" : {
"type" : "string" ,
"description" : "城市或县区,比如北京市、杭州市、余杭区等。"
}
},
"required" : ["location" ]
}
}
}
]
messages = [{"role" : "user" , "content" : "杭州天气怎么样" }]
completion = client.chat.completions.create(
model="qwen-plus" ,
messages=messages,
tools=tools
)
print (completion.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
const messages = [{"role" : "user" , "content" : "杭州天气怎么样" }];
const tools = [
{
"type" : "function" ,
"function" : {
"name" : "get_current_time" ,
"description" : "当你想知道现在的时间时非常有用。" ,
"parameters" : {}
}
},
{
"type" : "function" ,
"function" : {
"name" : "get_current_weather" ,
"description" : "当你想查询指定城市的天气时非常有用。" ,
"parameters" : {
"type" : "object" ,
"properties" : {
"location" : {
"type" : "string" ,
"description" : "城市或县区,比如北京市、杭州市、余杭区等。"
}
},
"required" : ["location" ]
}
}
}
];
async function main ( ) {
const response = await openai.chat .completions .create ({
model : "qwen-plus" ,
messages : messages,
tools : tools,
});
console .log (JSON .stringify (response));
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "杭州天气怎么样"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "当你想知道现在的时间时非常有用。",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "当你想查询指定城市的天气时非常有用。",
"parameters": {
"type": "object",
"properties": {
"location":{
"type": "string",
"description": "城市或县区,比如北京市、杭州市、余杭区等。"
}
},
"required": ["location"]
}
}
}
]
}'
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-plus" ,
messages=[
{'role' : 'system' , 'content' : 'You are a helpful assistant.' },
{'role' : 'user' , 'content' : '中国队在巴黎奥运会获得了多少枚金牌' }],
extra_body={
"enable_search" : True
}
)
print (completion.model_dump_json())
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
async function main ( ) {
const completion = await openai.chat .completions .create ({
model : "qwen-plus" ,
messages : [
{ role : "system" , content : "You are a helpful assistant." },
{ role : "user" , content : "中国队在巴黎奥运会获得了多少枚金牌" }
],
enable_search :true
});
console .log (JSON .stringify (completion))
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "中国队在巴黎奥运会获得了多少枚金牌"
}
],
"enable_search": true
}'
import os
import asyncio
from openai import AsyncOpenAI
import platform
client = AsyncOpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
async def main ():
response = await client.chat.completions.create(
messages=[{"role" : "user" , "content" : "你是谁" }],
model="qwen-plus" ,
)
print (response.model_dump_json())
if platform.system() == "Windows" :
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
当前仅 qwen-long 模型支持对文档进行分析,详细用法请参考:长上下文 。
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
file_object = client.files.create(file=Path("百炼系列手机产品介绍.docx" ), purpose="file-extract" )
completion = client.chat.completions.create(
model="qwen-long" ,
messages=[
{'role' : 'system' , 'content' : f'fileid://{file_object.id } ' },
{'role' : 'user' , 'content' : '这篇文章讲了什么?' }
]
)
print (completion.model_dump_json())
import fs from "fs" ;
import OpenAI from "openai" ;
const openai = new OpenAI (
{
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
async function getFileID ( ) {
const fileObject = await openai.files .create ({
file : fs.createReadStream ("百炼系列手机产品介绍.docx" ),
purpose : "file-extract"
});
return fileObject.id ;
}
async function main ( ) {
const fileID = await getFileID ();
const completion = await openai.chat .completions .create ({
model : "qwen-long" ,
messages : [
{ role : "system" , content : `fileid://${fileID} ` },
{ role : "user" , content : "这篇文章讲了什么?" }
],
});
console .log (JSON .stringify (completion))
}
main ();
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-long",
"input": {
"messages": [
{"role": "system","content": "fileid://file-fe-xxx"},
{"role": "user","content": "这篇文章讲了什么?"}
]
},
"parameters": {
"result_format": "message"
}
}'
qwen-vl-ocr 是 OCR 专用模型。为保证模型效果,目前模型内部会采用固定的文本作为输入文本,用户自定义的文本不会生效。关于 qwen-vl-ocr 的更多用法,请参见文字提取(OCR) 。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY" ),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ,
)
completion = client.chat.completions.create(
model="qwen-vl-ocr" ,
messages=[
{
"role" : "user" ,
"content" : [
{
"type" : "image_url" ,
"image_url" : "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg" ,
"min_pixels" : 28 * 28 * 4 ,
"max_pixels" : 1280 * 784
},
{"type" : "text" , "text" : "Read all the text in the image." },
]
}
])
print (completion.model_dump_json())
import OpenAI from 'openai' ;
const openai = new OpenAI ({
apiKey : process.env .DASHSCOPE_API_KEY ,
baseURL : 'https://dashscope.aliyuncs.com/compatible-mode/v1' ,
});
async function main ( ) {
const response = await openai.chat .completions .create ({
model : 'qwen-vl-ocr' ,
messages : [
{
role : 'user' ,
content : [
{ type : 'text' , text : 'Read all the text in the image.' },
{
type : 'image_url' ,
image_url : {
url : 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg' ,
},
"min_pixels" : 28 * 28 * 4 ,
"max_pixels" : 1280 * 784
}
],
},
]
});
console .log (response.choices [0 ].message .content );
}
main ();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-vl-ocr",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
"min_pixels": 3136,
"max_pixels": 1003520
},
{"type": "text", "text": "Read all the text in the image."}
]
}
]
}'