リクエストボディ 高精度認識 以下のコードは、組み込みの高精度認識タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
# 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクを高精度認識に設定します。
ocr_options={"task": "advanced_recognition"}
)
# 多言語認識タスクは、結果をプレーンテキストとして返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java // dashscope SDK バージョン >= 2.21.8
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.ADVANCED_RECOGNITION)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンのベース URL です。シンガポールリージョンのモデルを使用する場合は、base_url を https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "advanced_recognition"
}
}
}
'
情報抽出 以下のコードは、組み込みの情報抽出タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python # [pip install -U dashscope] を使用して SDK を更新します
import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role":"user",
"content":[
{
"image":"http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/demo_ocr/receipt_zh_demo.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": False
}
]
}
]
params = {
"ocr_options":{
"task": "key_information_extraction",
"task_config": {
"result_schema": {
"乗車日": "イメージ内の乗車日時に対応し、YYYY-MM-DD 形式、例:2025-03-05",
"請求書コード": "イメージから請求書コードを抽出します。通常は数字または文字の組み合わせです",
"請求書番号": "請求書から番号を抽出します。通常は数字のみで構成されます。"
}
}
}
}
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
**params)
print(response.output.choices[0].message.content[0]["ocr_result"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.google.gson.JsonObject;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/demo_ocr/receipt_zh_demo.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
// メインの JSON オブジェクトを作成します。
JsonObject resultSchema = new JsonObject();
resultSchema.addProperty("乗車日", "イメージ内の乗車日時に対応し、YYYY-MM-DD 形式、例:2025-03-05");
resultSchema.addProperty("請求書コード", "イメージから請求書コードを抽出します。通常は数字または文字の組み合わせです");
resultSchema.addProperty("請求書番号", "請求書から番号を抽出します。通常は数字のみで構成されます。");
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.KEY_INFORMATION_EXTRACTION)
.taskConfig(OcrOptions.TaskConfig.builder()
.resultSchema(resultSchema)
.build())
.build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("ocr_result"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/demo_ocr/receipt_zh_demo.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "key_information_extraction",
"task_config": {
"result_schema": {
"乗車日": "イメージ内の乗車日時に対応し、YYYY-MM-DD 形式、例:2025-03-05",
"請求書コード": "イメージから請求書コードを抽出します。通常は数字または文字の組み合わせです",
"請求書番号": "請求書から番号を抽出します。通常は数字のみで構成されます。"
}
}
}
}
}
'
テーブル解析 以下のコードは、組み込みのテーブル解析タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "http://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/doc_parsing/tables/photo/eng/17.jpg",
# 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクをテーブル解析に設定します。
ocr_options= {"task": "table_parsing"}
)
# テーブル解析タスクは、結果を HTML 形式で返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/doc_parsing/tables/photo/eng/17.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels",3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.TABLE_PARSING)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "http://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/doc_parsing/tables/photo/eng/17.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "table_parsing"
}
}
}
'ドキュメント解析 以下のコードは、組み込みのドキュメント解析タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "https://img.alicdn.com/imgextra/i1/O1CN01ukECva1cisjyK6ZDK_!!6000000003635-0-tps-1500-1734.jpg",
# 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクをドキュメント解析に設定します。
ocr_options= {"task": "document_parsing"}
)
# ドキュメント解析タスクは、結果を LaTeX 形式で返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://img.alicdn.com/imgextra/i1/O1CN01ukECva1cisjyK6ZDK_!!6000000003635-0-tps-1500-1734.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.DOCUMENT_PARSING)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation'\
--header "Authorization: Bearer $DASHSCOPE_API_KEY"\
--header 'Content-Type: application/json'\
--data '{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [{
"image": "https://img.alicdn.com/imgextra/i1/O1CN01ukECva1cisjyK6ZDK_!!6000000003635-0-tps-1500-1734.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "document_parsing"
}
}
}
'数式認識 以下のコードは、組み込みの数式認識タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "http://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/formula_handwriting/test/inline_5_4.jpg",
# 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクを数式認識に設定します。
ocr_options= {"task": "formula_recognition"}
)
# 数式認識タスクは、結果を LaTeX 形式で返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "http://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/formula_handwriting/test/inline_5_4.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.FORMULA_RECOGNITION)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-vl-ocr",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "http://duguang-llm.oss-cn-hangzhou.aliyuncs.com/llm_data_keeper/data/formula_handwriting/test/inline_5_4.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "formula_recognition"
}
}
}
'一般テキスト認識 以下のコードは、組み込みの一般テキスト認識タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
# 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクを一般テキスト認識に設定します。
ocr_options= {"task": "text_recognition"}
)
# 一般テキスト認識タスクは、結果をプレーンテキスト形式で返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg");
// 入力イメージの最大ピクセルしきい値。イメージがこの値より大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージがこの値より小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転を有効にします。
map.put("enable_rotate", false);
// 組み込みタスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.TEXT_RECOGNITION)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation'\
--header "Authorization: Bearer $DASHSCOPE_API_KEY"\
--header 'Content-Type: application/json'\
--data '{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/ctdzex/biaozhun.jpg",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "text_recognition"
}
}
}'多言語認識 以下のコードは、組み込みの一般多言語認識タスクを呼び出す方法の例を示しています。詳細については、「 組み込みタスクの呼び出し 」をご参照ください。
Python import os
import dashscope
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{
"role": "user",
"content": [{
"image": "https://img.alicdn.com/imgextra/i2/O1CN01VvUMNP1yq8YvkSDFY_!!6000000006629-2-tps-6000-3000.png",
# 入力イメージの最小ピクセルしきい値。イメージがこのしきい値より小さい場合、合計ピクセル数が `min_pixels` を超えるまで拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージがこのしきい値より大きい場合、合計ピクセル数が `max_pixels` を下回るまで縮小されます。
"max_pixels": 32 * 32 * 8192,
# 自動イメージ回転機能を有効にします。
"enable_rotate": False}]
}]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model='qwen-vl-ocr-2025-11-20',
messages=messages,
# 組み込みタスクを多言語認識に設定します。
ocr_options={"task": "multi_lan"}
)
# 多言語認識タスクは、結果をプレーンテキストで返します。
print(response["output"]["choices"][0]["message"].content[0]["text"])Java import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.aigc.multimodalconversation.OcrOptions;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://img.alicdn.com/imgextra/i2/O1CN01VvUMNP1yq8YvkSDFY_!!6000000006629-2-tps-6000-3000.png");
// 入力イメージの最大ピクセルしきい値。イメージが大きい場合、合計ピクセル数が max_pixels を下回るまで縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージが小さい場合、合計ピクセル数が min_pixels を超えるまで拡大されます。
map.put("min_pixels", 3072);
// 自動イメージ回転機能を有効にします。
map.put("enable_rotate", false);
// 組み込み OCR タスクを設定します。
OcrOptions ocrOptions = OcrOptions.builder()
.task(OcrOptions.Task.MULTI_LAN)
.build();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map
)).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
// 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.ocrOptions(ocrOptions)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '
{
"model": "qwen-vl-ocr-2025-11-20",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "https://img.alicdn.com/imgextra/i2/O1CN01VvUMNP1yq8YvkSDFY_!!6000000006629-2-tps-6000-3000.png",
"min_pixels": 3072,
"max_pixels": 8388608,
"enable_rotate": false
}
]
}
]
},
"parameters": {
"ocr_options": {
"task": "multi_lan"
}
}
}
'ストリーミング出力
Python import os
import dashscope
PROMPT_TICKET_EXTRACTION = """
列車の乗車券イメージから、請求書番号、列車番号、出発駅、到着駅、出発日時、座席番号、座席クラス、チケット価格、ID カード番号、乗客名を抽出してください。
キー情報を正確に抽出する必要があります。情報を省略したり、捏造したりしないでください。ぼやけている、または強い光で隠されている単一の文字は、英語の疑問符 (?) に置き換えてください。
データを次の JSON 形式で返します:{'invoice_number': 'xxx', 'train_number': 'xxx', 'departure_station': 'xxx', 'arrival_station': 'xxx', 'departure_date_and_time':'xxx', 'seat_number': 'xxx', 'seat_class': 'xxx','ticket_price':'xxx', 'id_card_number': 'xxx', 'passenger_name': 'xxx'}
"""
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": [
{
"image": "https://img.alicdn.com/imgextra/i2/O1CN01ktT8451iQutqReELT_!!6000000004408-0-tps-689-487.jpg",
# 入力イメージの最小ピクセルしきい値。イメージのピクセル数がこの値より少ない場合、合計ピクセル数が min_pixels を超えるまでイメージは拡大されます。
"min_pixels": 32 * 32 * 3,
# 入力イメージの最大ピクセルしきい値。イメージのピクセル数がこの値より多い場合、合計ピクセル数が max_pixels を下回るまでイメージは縮小されます。
"max_pixels": 32 * 32 * 8192},
# 組み込みタスクが設定されていない場合、テキストフィールドでプロンプトを渡すことができます。プロンプトが渡されない場合、デフォルトのプロンプトが使用されます:イメージからテキストコンテンツのみを出力し、追加の説明やフォーマットは含めないでください。
{
"type": "text",
"text": PROMPT_TICKET_EXTRACTION,
},
],
}
]
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 環境変数が設定されていない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen-vl-ocr-2025-11-20",
messages=messages,
stream=True,
incremental_output=True,
)
full_content = ""
print("Streaming output content:")
for response in response:
try:
print(response["output"]["choices"][0]["message"].content[0]["text"])
full_content += response["output"]["choices"][0]["message"].content[0]["text"]
except:
pass
print(f"Full content: {full_content}")Java import java.util.*;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
Map<String, Object> map = new HashMap<>();
map.put("image", "https://img.alicdn.com/imgextra/i2/O1CN01ktT8451iQutqReELT_!!6000000004408-0-tps-689-487.jpg");
// 入力イメージの最大ピクセルしきい値。イメージのピクセル数がこの値より多い場合、合計ピクセル数が max_pixels を下回るまでイメージは縮小されます。
map.put("max_pixels", 8388608);
// 入力イメージの最小ピクセルしきい値。イメージのピクセル数がこの値より少ない場合、合計ピクセル数が min_pixels を超えるまでイメージは拡大されます。
map.put("min_pixels", 3072);
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
map,
// 組み込みタスクが設定されていない場合、テキストフィールドでプロンプトを渡すことができます。プロンプトが渡されない場合、デフォルトのプロンプトが使用されます:イメージからテキストコンテンツのみを出力し、追加の説明やフォーマットは含めないでください。
Collections.singletonMap("text", "列車の乗車券イメージから、請求書番号、列車番号、出発駅、到着駅、出発日時、座席番号、座席クラス、チケット価格、ID カード番号、乗客名を抽出してください。キー情報を正確に抽出する必要があります。情報を省略したり、捏造したりしないでください。ぼやけている、または強い光で隠されている単一の文字は、英語の疑問符 (?) に置き換えてください。データを次の JSON 形式で返します:{\'invoice_number\': \'xxx\', \'train_number\': \'xxx\', \'departure_station\': \'xxx\', \'arrival_station\': \'xxx\', \'departure_date_and_time\':\'xxx\', \'seat_number\': \'xxx\', \'seat_class\': \'xxx\',\'ticket_price\':\'xxx\', \'id_card_number\': \'xxx\', \'passenger_name\': \'xxx\'"))).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
// 環境変数が設定されていない場合は、次の行をご利用の Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-vl-ocr-2025-11-20")
.message(userMessage)
.incrementalOutput(true)
.build();
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(item -> {
try {
List<Map<String, Object>> contentList = item.getOutput().getChoices().get(0).getMessage().getContent();
if (!contentList.isEmpty()){
System.out.println(contentList.get(0).get("text"));
}//
} catch (Exception e){
System.exit(0);
}
});
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}curl # ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# === 実行前にこのコメントを削除してください ===
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
-H 'X-DashScope-SSE: enable' \
--data '{
"model": "qwen-vl-ocr-2025-11-20",
"input":{
"messages":[
{
"role": "user",
"content": [
{
"image": "https://img.alicdn.com/imgextra/i2/O1CN01ktT8451iQutqReELT_!!6000000004408-0-tps-689-487.jpg",
"min_pixels": 3072,
"max_pixels": 8388608
},
{"type": "text", "text": "列車の乗車券イメージから、請求書番号、列車番号、出発駅、到着駅、出発日時、座席番号、座席クラス、チケット価格、ID カード番号、乗客名を抽出してください。キー情報を正確に抽出する必要があります。情報を省略したり、捏造したりしないでください。ぼやけている、または強い光で隠されている単一の文字は、英語の疑問符 (?) に置き換えてください。データを次の JSON 形式で返します:{\'invoice_number\': \'xxx\', \'train_number\': \'xxx\', \'departure_station\': \'xxx\', \'arrival_station\': \'xxx\', \'departure_date_and_time\':\'xxx\', \'seat_number\': \'xxx\', \'seat_class\': \'xxx\',\'ticket_price\':\'xxx\', \'id_card_number\': \'xxx\', \'passenger_name\': \'xxx\'"}
]
}
]
},
"parameters": {
"incremental_output": true
}
}'