Skip to content

Commit 68aa081

Browse files
committed
feat: add multilanguage sample
1 parent 7b06be9 commit 68aa081

File tree

5 files changed

+152
-0
lines changed

5 files changed

+152
-0
lines changed

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,7 +1244,49 @@ OpenAI 兼容 DashScope
12441244
Python Java curl
12451245
```
12461246

1247+
##### Multilanguage
12471248

1249+
To invoke this built-in task, set `Parameters.OcrOptions.Task` to `multi_lan`. No additional text information needs to be provided.
1250+
1251+
This task read the images and returns content in plain text(Support more languages).
1252+
1253+
```csharp
1254+
await using var file = File.OpenRead("multilanguage.jpg");
1255+
var ossLink = await client.UploadTemporaryFileAsync("qwen-vl-ocr-latest", file, "multilanguage.jpg");
1256+
Console.WriteLine($"File uploaded: {ossLink}");
1257+
var messages =
1258+
new List<MultimodalMessage> { MultimodalMessage.User([MultimodalMessageContent.ImageContent(ossLink)]) };
1259+
var completion = await client.GetMultimodalGenerationAsync(
1260+
new ModelRequest<MultimodalInput, IMultimodalParameters>()
1261+
{
1262+
Model = "qwen-vl-ocr-latest",
1263+
Input = new MultimodalInput { Messages = messages },
1264+
Parameters = new MultimodalParameters()
1265+
{
1266+
OcrOptions = new MultimodalOcrOptions()
1267+
{
1268+
Task = "multi_lan",
1269+
}
1270+
}
1271+
});
1272+
```
1273+
1274+
Returns
1275+
1276+
```csharp
1277+
INTERNATIONAL
1278+
MOTHER LANGUAGE
1279+
DAY
1280+
你好!
1281+
Прив?т!
1282+
Bonjour!
1283+
Merhaba!
1284+
Ciao!
1285+
Hello!
1286+
Ola!
1287+
????
1288+
Salam!
1289+
```
12481290

12491291
## Text-to-Speech
12501292

README.zh-Hans.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3143,7 +3143,53 @@ OpenAI 兼容 DashScope
31433143
Python Java curl
31443144
```
31453145
3146+
##### 多语言识别
31463147
3148+
设置 `Parameters.OcrOptions.Task` 为 `multi_lan` 即可调用该内置任务,不需要传入额外的文字信息。
3149+
3150+
该任务会识读图片中文字并以纯文本形式返回,支持小语种的识别。
3151+
3152+
如果确定输入图片不包含除中英文以外的语种,请不要使用这个任务,减少误识别的几率。
3153+
3154+
示例请求:
3155+
3156+
```csharp
3157+
await using var file = File.OpenRead("multilanguage.jpg");
3158+
var ossLink = await client.UploadTemporaryFileAsync("qwen-vl-ocr-latest", file, "multilanguage.jpg");
3159+
Console.WriteLine($"File uploaded: {ossLink}");
3160+
var messages =
3161+
new List<MultimodalMessage> { MultimodalMessage.User([MultimodalMessageContent.ImageContent(ossLink)]) };
3162+
var completion = await client.GetMultimodalGenerationAsync(
3163+
new ModelRequest<MultimodalInput, IMultimodalParameters>()
3164+
{
3165+
Model = "qwen-vl-ocr-latest",
3166+
Input = new MultimodalInput { Messages = messages },
3167+
Parameters = new MultimodalParameters()
3168+
{
3169+
OcrOptions = new MultimodalOcrOptions()
3170+
{
3171+
Task = "multi_lan",
3172+
}
3173+
}
3174+
});
3175+
```
3176+
3177+
示例返回:
3178+
3179+
```csharp
3180+
INTERNATIONAL
3181+
MOTHER LANGUAGE
3182+
DAY
3183+
你好!
3184+
Прив?т!
3185+
Bonjour!
3186+
Merhaba!
3187+
Ciao!
3188+
Hello!
3189+
Ola!
3190+
????
3191+
Salam!
3192+
```
31473193
31483194
## 语音合成
31493195

sample/Cnblogs.DashScope.Sample/Cnblogs.DashScope.Sample.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
<None Update="math.jpg">
4848
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
4949
</None>
50+
<None Update="multilanguage.jpg">
51+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
52+
</None>
5053
</ItemGroup>
5154

5255
<ItemGroup>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using Cnblogs.DashScope.Core;
2+
3+
namespace Cnblogs.DashScope.Sample.Multimodal;
4+
5+
public class OcrMultilanguageSample : ISample
6+
{
7+
/// <inheritdoc />
8+
public string Description => "OCR Text Recognition(Multilanguage) Sample";
9+
10+
/// <inheritdoc />
11+
public async Task RunAsync(IDashScopeClient client)
12+
{
13+
// upload file
14+
await using var file = File.OpenRead("multilanguage.jpg");
15+
var ossLink = await client.UploadTemporaryFileAsync("qwen-vl-ocr-latest", file, "multilanguage.jpg");
16+
Console.WriteLine($"File uploaded: {ossLink}");
17+
var messages =
18+
new List<MultimodalMessage> { MultimodalMessage.User([MultimodalMessageContent.ImageContent(ossLink)]) };
19+
var completion = await client.GetMultimodalGenerationAsync(
20+
new ModelRequest<MultimodalInput, IMultimodalParameters>()
21+
{
22+
Model = "qwen-vl-ocr-latest",
23+
Input = new MultimodalInput { Messages = messages },
24+
Parameters = new MultimodalParameters()
25+
{
26+
OcrOptions = new MultimodalOcrOptions()
27+
{
28+
Task = "multi_lan",
29+
}
30+
}
31+
});
32+
33+
Console.WriteLine("Text:");
34+
Console.WriteLine(completion.Output.Choices[0].Message.Content[0].Text);
35+
36+
if (completion.Usage != null)
37+
{
38+
var usage = completion.Usage;
39+
Console.WriteLine(
40+
$"Usage: in({usage.InputTokens})/out({usage.OutputTokens})/image({usage.ImageTokens})/total({usage.TotalTokens})");
41+
}
42+
}
43+
}
44+
45+
/*
46+
File uploaded: oss://dashscope-instant/52afe077fb4825c6d74411758cb1ab98/2025-11-29/fa37bfc1-946b-4347-9c0a-fba6abccc43f/multilanguage.jpg
47+
Text:
48+
INTERNATIONAL
49+
MOTHER LANGUAGE
50+
DAY
51+
你好!
52+
Прив?т!
53+
Bonjour!
54+
Merhaba!
55+
Ciao!
56+
Hello!
57+
Ola!
58+
????
59+
Salam!
60+
Usage: in(4444)/out(36)/image(4420)/total(4480)
61+
*/
216 KB
Loading

0 commit comments

Comments
 (0)