Qwen-MT adalah model bahasa besar (LLM) untuk penerjemahan mesin yang telah dilatih ulang dari Qwen3. Model ini mendukung penerjemahan antar 92 bahasa, termasuk Tiongkok, Inggris, Jepang, Korea, Prancis, Spanyol, Jerman, Thailand, Indonesia, Vietnam, dan Arab. Model ini juga menyediakan fitur seperti intervensi istilah, prompting berbasis domain, dan memori terjemahan untuk meningkatkan kualitas terjemahan dalam skenario aplikasi yang kompleks.
Cara kerja
Berikan teks yang akan diterjemahkan: Array
messagesharus berisi satu pesan tunggal denganrole-nya diatur keuser.contentdari pesan ini adalah teks yang akan diterjemahkan.Tentukan bahasa: Atur bahasa sumber (
source_lang) dan bahasa target (target_lang) dalam parametertranslation_options. Untuk daftar bahasa yang didukung, lihat Bahasa yang didukung. Untuk mendeteksi bahasa sumber secara otomatis, atursource_langkeauto.Menentukan bahasa sumber meningkatkan akurasi terjemahan.
Anda juga dapat mengatur bahasa menggunakan prompt kustom.
Contoh berikut menunjukkan cara memanggil model Qwen-MT menggunakan SDK Python yang kompatibel dengan OpenAI dan DashScope.
Kompatibel dengan OpenAI
# Impor dependensi dan buat client...
completion = client.chat.completions.create(
model="qwen-mt-flash", # Pilih model
# Parameter messages harus hanya berisi satu pesan dengan role diatur ke user, dan content-nya adalah teks yang akan diterjemahkan.
messages=[{"role": "user", "content": "No me reí después de ver este video"}],
# Karena translation_options bukan parameter standar OpenAI, Anda harus meneruskannya melalui parameter extra_body.
extra_body={"translation_options": {"source_lang": "auto", "target_lang": "English"}},
)DashScope
# Impor dependensi...
response = dashscope.Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen-mt-flash", # Pilih model
messages=[{"role": "user", "content": "No me reí después de ver este video"}], # messages: 'role' adalah 'user' dan 'content' adalah teks yang akan diterjemahkan.
translation_options={"source_lang": "auto", "target_lang": "English"}, # Konfigurasikan opsi terjemahan.
result_format="message"
)Batasan
Hanya mendukung terjemahan satu arah: Model ini dirancang untuk tugas terjemahan dan tidak mendukung percakapan multi-putaran.
Pesan sistem tidak didukung: Anda tidak dapat mengatur perilaku global menggunakan pesan dengan role
system. Sebagai gantinya, definisikan konfigurasi terjemahan dalam parametertranslation_options.
Pemilihan model
Untuk skenario umum, Anda dapat memilih
qwen-mt-flash. Model ini menyeimbangkan kualitas, kecepatan, dan biaya, serta mendukung keluaran streaming inkremental.Untuk kualitas terjemahan tertinggi di bidang profesional, Anda dapat memilih
qwen-mt-plus.Untuk kecepatan respons tercepat dalam skenario sederhana dan real-time, Anda dapat memilih
qwen-mt-lite.
Tabel berikut membandingkan model-model tersebut.
Model | Skenario | Hasil | Kecepatan | Biaya | Bahasa yang didukung | Mendukung keluaran streaming inkremental |
qwen-mt-plus | Skenario yang membutuhkan kualitas terjemahan tinggi, seperti bidang profesional, dokumen resmi, makalah akademik, dan laporan teknis | Terbaik | Standar | Tinggi | 92 | |
qwen-mt-flash | Pilihan utama untuk penggunaan umum. Cocok untuk skenario seperti konten website/aplikasi, deskripsi produk, komunikasi sehari-hari, dan posting blog | Baik | Cepat | Rendah | 92 | |
qwen-mt-turbo | Model ini tidak akan diperbarui di masa depan. Gunakan flash sebagai gantinya. | Cukup | Cepat | Rendah | 92 | |
qwen-mt-lite | Skenario sederhana yang sensitif terhadap latensi, seperti obrolan real-time dan terjemahan komentar langsung | Dasar | Tercepat | Terendah | 31 |
Untuk informasi lebih lanjut tentang konteks model dan penetapan harga, lihat Qwen-MT. Untuk informasi tentang batas permintaan konkuren, lihat Penerjemahan Qwen.
Memulai
Bagian ini menunjukkan contoh sederhana menerjemahkan "No me reí después de ver este video" ke dalam bahasa Inggris.
Anda harus mendapatkan kunci API dan mengatur kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK OpenAI atau SDK DashScope untuk melakukan panggilan, Anda juga harus menginstal SDK.
Kompatibel dengan OpenAI
Permintaan contoh
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Alibaba Cloud Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [
{
"role": "user",
"content": "No me reí después de ver este video"
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English"
}
completion = client.chat.completions.create(
model="qwen-mt-plus",
messages=messages,
extra_body={
"translation_options": translation_options
}
)
print(completion.choices[0].message.content)# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-flash",
"messages": [{"role": "user", "content": "No me reí después de ver este video"}],
"translation_options": {
"source_lang": "auto",
"target_lang": "English"
}
}'
Respons contoh
I didn't laugh after watching this video. DashScope
Permintaan contoh
SDK Java DashScope harus versi 2.20.6 atau lebih baru.
import os
import dashscope
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": "No me reí después de ver este video"
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
}
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-turbo", # Contoh ini menggunakan qwen-mt-turbo. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
messages=messages,
result_format='message',
translation_options=translation_options
)
print(response.output.choices[0].message.content)// Diperlukan SDK DashScope versi 2.20.6 atau lebih baru.
import java.lang.System;
import java.util.Collections;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// URL berikut ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("No me reí después de ver este video")
.build();
TranslationOptions options = TranslationOptions.builder()
.sourceLang("auto")
.targetLang("English")
.build();
GenerationParam param = GenerationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Alibaba Cloud Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-mt-plus")
.messages(Collections.singletonList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.translationOptions(options)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Error message: "+e.getMessage());
e.printStackTrace();
} finally {
System.exit(0);
}
}
}# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-turbo",
"input": {
"messages": [
{
"content": "No me reí después de ver este video",
"role": "user"
}
]
},
"parameters": {
"translation_options": {
"source_lang": "auto",
"target_lang": "English"
}
}
}'Respons contoh
I didn't laugh after watching this video. Keluaran streaming
Keluaran streaming mengembalikan konten terjemahan secara real-time untuk mengurangi waktu tunggu pengguna. Saat ini, hanya qwen-mt-flash dan qwen-mt-lite yang mendukung keluaran streaming inkremental, di mana setiap respons hanya berisi konten yang baru dihasilkan. Anda dapat mengaktifkan fitur ini dengan menggunakan parameter incremental_output. Model qwen-mt-plus dan qwen-mt-turbo hanya mendukung keluaran streaming non-inkremental; setiap respons mengembalikan seluruh urutan yang dihasilkan hingga saat itu, dan respons terakhir berisi hasil lengkapnya. Untuk informasi lebih lanjut, lihat Keluaran streaming.
Kompatibel dengan OpenAI
Permintaan contoh
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "No me reí después de ver este video"}]
translation_options = {"source_lang": "auto", "target_lang": "English"}
completion = client.chat.completions.create(
model="qwen-mt-flash",
messages=messages,
stream=True,
stream_options={"include_usage": True},
extra_body={"translation_options": translation_options},
)
for chunk in completion:
if chunk.choices:
content = chunk.choices[0].delta.content or ""
print(content, end="", flush=True)
else:
print("="*20+"Usage"+"="*20)
print(chunk.usage)# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-flash",
"messages": [{"role": "user", "content": "No me reí después de ver este video"}],
"stream": true,
"translation_options": {
"source_lang": "auto",
"target_lang": "English"
}
}'Respons contoh
I didn’t laugh after watching this video.
====================Usage====================
CompletionUsage(completion_tokens=9, prompt_tokens=56, total_tokens=65, completion_tokens_details=None, prompt_tokens_details=None)DashScope
Permintaan contoh
import os
import dashscope
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": "No me reí después de ver este video"
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
}
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-flash", # Contoh ini menggunakan qwen-mt-turbo. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
messages=messages,
result_format='message',
stream=True,
# Untuk mendapatkan keluaran inkremental, atur incremental_output ke True. Ini direkomendasikan. Saat ini, hanya qwen-mt-flash yang mendukung fitur ini.
incremental_output=True,
translation_options=translation_options
)
for chunk in response:
print(chunk.output.choices[0].message.content, end="", flush=True)// SDK DashScope harus versi 2.20.6 atau lebih baru.
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.reactivex.Flowable;
public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static void handleGenerationResult(GenerationResult message) {
String content = message.getOutput().getChoices().get(0).getMessage().getContent();
System.out.print(content);
}
public static void streamCallWithMessage(Generation gen, Message userMsg)
throws NoApiKeyException, ApiException, InputRequiredException {
GenerationParam param = buildGenerationParam(userMsg);
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(message -> handleGenerationResult(message));
}
private static GenerationParam buildGenerationParam(Message userMsg) {
TranslationOptions options = TranslationOptions.builder()
.sourceLang("auto")
.targetLang("English")
.build();
return GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-mt-flash")
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.translationOptions(options)
// Aktifkan keluaran inkremental. Fitur ini hanya didukung oleh qwen-mt-flash.
.incrementalOutput(true)
.messages(Arrays.asList(userMsg))
.build();
}
public static void main(String[] args) {
try {
// Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder().role(Role.USER.getValue()).content("No me reí después de ver este video").build();
streamCallWithMessage(gen, userMsg);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
logger.error("An exception occurred: {}", e.getMessage());
}
System.exit(0);
}
}# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen-mt-flash",
"input": {
"messages": [
{
"content": "No me reí después de ver este video",
"role": "user"
}
]
},
"parameters": {
"translation_options": {
"source_lang": "auto",
"target_lang": "English"
},
"incremental_output":true
}'Respons contoh
I didn't laugh after watching this video. qwen-mt-plus dan qwen-mt-turbo tidak mendukung keluaran streaming inkremental.
Meningkatkan kualitas terjemahan
Terjemahan standar sudah cukup untuk kasus penggunaan sederhana, seperti komunikasi sehari-hari. Namun, untuk tugas terjemahan profesional atau menuntut, Anda mungkin menghadapi masalah berikut:
Ketidakkonsistenan terminologi: Nama produk atau istilah industri diterjemahkan secara salah.
Gaya tidak sesuai: Gaya teks terjemahan tidak memenuhi standar domain tertentu, seperti hukum atau pemasaran.
Anda dapat menggunakan intervensi istilah, memori terjemahan, dan prompting berbasis domain untuk mengatasi masalah ini.
Intervensi istilah
Untuk memastikan akurasi dan konsistensi terjemahan ketika teks mengandung nama merek, nama produk, atau istilah teknis, Anda dapat menyediakan glosarium dalam field terms. Hal ini menginstruksikan model untuk menggunakan terjemahan yang telah Anda tentukan.
Definisikan dan teruskan istilah sebagai berikut:
Definisikan istilah
Buat array JSON dan tetapkan ke field
terms. Setiap objek dalam array merepresentasikan sebuah istilah dalam format berikut:{ "source": "term", "target": "pre-translated term" }Teruskan istilah
Gunakan parameter
translation_optionsuntuk meneruskan arraytermsyang telah didefinisikan.
Kompatibel dengan OpenAI
Permintaan contoh
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [
{
"role": "user",
"content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
}
]
# --- Permintaan pertama: tanpa parameter terms ---
print("--- [Hasil terjemahan tanpa terms] ---")
translation_options_without_terms = {
"source_lang": "auto",
"target_lang": "English"
}
completion_without_terms = client.chat.completions.create(
model="qwen-mt-turbo",
messages=messages,
extra_body={
"translation_options": translation_options_without_terms
}
)
print(completion_without_terms.choices[0].message.content)
print("\n" + "="*50 + "\n") # Pemisah untuk perbandingan
# --- Permintaan kedua: dengan parameter terms ---
print("--- [Hasil terjemahan dengan terms] ---")
translation_options_with_terms = {
"source_lang": "auto",
"target_lang": "English",
"terms": [
{
"source": "biosensor",
"target": "biological sensor"
},
{
"source": "estado de salud del cuerpo",
"target": "health status of the body"
}
]
}
completion_with_terms = client.chat.completions.create(
model="qwen-mt-turbo",
messages=messages,
extra_body={
"translation_options": translation_options_with_terms
}
)
print(completion_with_terms.choices[0].message.content)# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-turbo",
"messages": [
{
"role": "user",
"content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
}
],
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"terms": [
{
"source": "biosensor",
"target": "biological sensor"
},
{
"source": "estado de salud del cuerpo",
"target": "health status of the body"
}
]
}
}'Respons contoh
Setelah Anda menambahkan terms, hasil terjemahan menjadi konsisten dengan terms yang Anda berikan: "biological sensor" dan "health status of the body".
--- [Hasil terjemahan tanpa istilah] ---
Rangkaian biosensor ini menggunakan grafena, sebuah material baru, yang menargetkan unsur kimia. "Indra penciuman"-nya yang sensitif memungkinkannya untuk merefleksikan kondisi kesehatan seseorang secara lebih mendalam dan akurat.
==================================================
--- [Hasil terjemahan dengan istilah] ---
Sensor biologis ini menggunakan material baru yang disebut grafena. Targetnya adalah unsur kimia, dan "indra penciuman"-nya yang sensitif memungkinkannya untuk merefleksikan status kesehatan tubuh secara lebih mendalam dan akurat.DashScope
Permintaan contoh
import os
import dashscope
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
"terms": [
{
"source": "biosensor",
"target": "biological sensor"
},
{
"source": "estado de salud del cuerpo",
"target": "health status of the body"
}
]
}
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-turbo", # Contoh ini menggunakan qwen-mt-turbo. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
messages=messages,
result_format='message',
translation_options=translation_options
)
print(response.output.choices[0].message.content)// SDK DashScope harus versi 2.20.6 atau lebih baru.
import java.lang.System;
import java.util.Collections;
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
import com.alibaba.dashscope.aigc.generation.TranslationOptions.Term;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa.")
.build();
Term term1 = Term.builder()
.source("biosensor")
.target("biological sensor")
.build();
Term term2 = Term.builder()
.source("estado de salud del cuerpo")
.target("health status of the body")
.build();
TranslationOptions options = TranslationOptions.builder()
.sourceLang("auto")
.targetLang("English")
.terms(Arrays.asList(term1, term2))
.build();
GenerationParam param = GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-mt-plus")
.messages(Collections.singletonList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.translationOptions(options)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Error message: "+e.getMessage());
}
System.exit(0);
}
}# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-mt-turbo",
"input": {
"messages": [
{
"content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa.",
"role": "user"
}
]
},
"parameters": {
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"terms": [
{
"source": "biosensor",
"target": "biological sensor"
},
{
"source": "estado de salud del cuerpo",
"target": "health status of the body"
}
]
}
}
}'Respons contoh
This biological sensor uses graphene, a new material, and its target is chemical elements. Its sensitive "nose" can more deeply and accurately reflect the health status of the human body. Memori terjemahan
Untuk menginstruksikan model menggunakan gaya terjemahan atau pola kalimat tertentu, Anda dapat menyediakan pasangan kalimat sumber-target sebagai contoh dalam field tm_list. Model kemudian akan meniru gaya contoh-contoh tersebut untuk tugas terjemahan saat ini.
Definisikan memori terjemahan
Buat array JSON bernama
tm_list. Setiap objek JSON dalam array berisi kalimat sumber dan terjemahannya dalam format berikut:{ "source": "source statement", "target": "translated statement" }Teruskan memori terjemahan
Gunakan parameter
translation_optionsuntuk meneruskan array memori terjemahan.
Kode berikut menunjukkan cara menggunakan fitur memori terjemahan.
Kompatibel dengan OpenAI
Permintaan contoh
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [
{
"role": "user",
"content": "El siguiente comando muestra la información de la versión de Thrift instalada."
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
"tm_list": [
{
"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:",
"target": "You can use one of the following methods to query the engine version of a cluster:"
},
{
"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.",
"target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."
},
{
"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:",
"target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"
}
]
}
completion = client.chat.completions.create(
model="qwen-mt-plus",
messages=messages,
extra_body={
"translation_options": translation_options
}
)
print(completion.choices[0].message.content)# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-turbo",
"messages": [
{
"role": "user",
"content": "El siguiente comando muestra la información de la versión de Thrift instalada."
}
],
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"tm_list":[
{"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:", "target": "You can use one of the following methods to query the engine version of a cluster:"},
{"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.", "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."},
{"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:", "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"}
]
}
}'Respons contoh
You can run the following command to view the version of Thrift that is installed:DashScope
Permintaan contoh
import os
import dashscope
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": "El siguiente comando muestra la información de la versión de Thrift instalada."
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
"tm_list": [
{
"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:",
"target": "You can use one of the following methods to query the engine version of a cluster:"
},
{
"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.",
"target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."
},
{
"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:",
"target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"
}
]}
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-turbo", # Contoh ini menggunakan qwen-mt-turbo. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
messages=messages,
result_format='message',
translation_options=translation_options
)
print(response.output.choices[0].message.content)// SDK DashScope harus versi 2.20.6 atau lebih baru.
import java.lang.System;
import java.util.Collections;
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
import com.alibaba.dashscope.aigc.generation.TranslationOptions.Tm;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("El siguiente comando muestra la información de la versión de Thrift instalada.")
.build();
Tm tm1 = Tm.builder()
.source("Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:")
.target("You can use one of the following methods to query the engine version of a cluster:")
.build();
Tm tm2 = Tm.builder()
.source("La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.")
.target("The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website.")
.build();
Tm tm3 = Tm.builder()
.source("Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:")
.target("You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:")
.build();
TranslationOptions options = TranslationOptions.builder()
.sourceLang("auto")
.targetLang("English")
.tmList(Arrays.asList(tm1, tm2, tm3))
.build();
GenerationParam param = GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-mt-plus")
.messages(Collections.singletonList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.translationOptions(options)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Error message: "+e.getMessage());
}
System.exit(0);
}
}# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-mt-turbo",
"input": {
"messages": [
{
"content": "El siguiente comando muestra la información de la versión de Thrift instalada.",
"role": "user"
}
]
},
"parameters": {
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"tm_list":[
{"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:", "target": "You can use one of the following methods to query the engine version of a cluster:"},
{"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.", "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."},
{"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:", "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"}
]
}
}'Respons contoh
You can use the following commands to check the version information of thrift installed; Prompting berbasis domain
Untuk menyesuaikan gaya terjemahan ke domain tertentu, Anda dapat menggunakan parameter translation_options untuk meneruskan prompt domain. Misalnya, terjemahan untuk domain hukum atau pemerintahan harus formal, sedangkan terjemahan untuk media sosial harus santai.
Prompt domain saat ini hanya mendukung bahasa Inggris.
Kompatibel dengan OpenAI
Permintaan contoh
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [
{
"role": "user",
"content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
}
]
# --- Permintaan pertama: tanpa parameter domains ---
print("--- [Hasil terjemahan tanpa domains] ---")
translation_options_without_domains = {
"source_lang": "auto",
"target_lang": "English",
}
completion_without_domains = client.chat.completions.create(
model="qwen-mt-plus",
messages=messages,
extra_body={
"translation_options": translation_options_without_domains
}
)
print(completion_without_domains.choices[0].message.content)
print("\n" + "="*50 + "\n") # Pemisah untuk perbandingan
# --- Permintaan kedua: dengan parameter domains ---
print("--- [Hasil terjemahan dengan domains] ---")
translation_options_with_domains = {
"source_lang": "auto",
"target_lang": "English",
"domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
}
completion_with_domains = client.chat.completions.create(
model="qwen-mt-plus",
messages=messages,
extra_body={
"translation_options": translation_options_with_domains
}
)
print(completion_with_domains.choices[0].message.content)# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-mt-turbo",
"messages": [
{
"role": "user",
"content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
}
],
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
}
}'Respons contoh
--- [Hasil terjemahan tanpa domain] ---
Pernyataan SELECT kedua mengembalikan angka yang menunjukkan berapa banyak baris yang akan dikembalikan oleh pernyataan SELECT pertama tanpa klausa LIMIT.
==================================================
--- [Hasil terjemahan dengan domain] ---
Pernyataan SELECT kedua mengembalikan angka yang menunjukkan berapa banyak baris yang akan dikembalikan oleh pernyataan SELECT pertama jika tidak menyertakan klausa LIMIT.DashScope
Permintaan contoh
import os
import dashscope
# Jika Anda menggunakan model di Wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
}
]
translation_options = {
"source_lang": "auto",
"target_lang": "English",
"domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
}
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-turbo",
messages=messages,
result_format='message',
translation_options=translation_options
)
print(response.output.choices[0].message.content)// SDK DashScope harus versi 2.20.6 atau lebih baru.
import java.lang.System;
import java.util.Collections;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT.")
.build();
TranslationOptions options = TranslationOptions.builder()
.sourceLang("auto")
.targetLang("English")
.domains("The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style.")
.build();
GenerationParam param = GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Catatan: qwen-mt-lite tidak mendukung prompting berbasis domain
.model("qwen-mt-plus")
.messages(Collections.singletonList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.translationOptions(options)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Error message: "+e.getMessage());
}
System.exit(0);
}
}# ======= Penting =======
# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum eksekusi ====
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-mt-turbo",
"input": {
"messages": [
{
"content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT.",
"role": "user"
}
]
},
"parameters": {
"translation_options": {
"source_lang": "auto",
"target_lang": "English",
"domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."}
}
}'Respons contoh
The second SELECT statement returns a number that indicates how many rows were returned by the first SELECT statement without a LIMIT clause. Prompt kustom
Gunakan prompt kustom dalam Qwen-MT untuk menentukan detail seperti bahasa atau gaya. Metode ini saling eksklusif dengan parameter translation_options. Jika Anda menggunakan keduanya, translation_options mungkin tidak berlaku.
Untuk hasil terjemahan terbaik, gunakan translation_options untuk mengonfigurasi pengaturan terjemahan.Contoh berikut menunjukkan terjemahan dari Spanyol ke Inggris dalam domain hukum:
Kompatibel dengan OpenAI
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Alibaba Cloud Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Jika Anda menggunakan model di wilayah Beijing, Anda perlu mengganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
prompt_template = """
# Role
You are a professional legal translation expert, proficient in both Spanish and English, and you are especially skilled at handling commercial contracts and legal documents.
# Task
I need you to translate the following Spanish legal text into professional, accurate, and formal English.
# Translation Requirements
1. **Fidelity to the Original**: Strictly translate according to the meaning and legal intent of the original text. Do not add or omit information.
2. **Precise Terminology**: Use standard legal terms common in the Common Law system. For example, "甲方" should be translated as "Party A", "乙方" as "Party B", and "不可抗力" as "Force Majeure".
3. **Formal Tone**: Maintain the rigorous, objective, and formal style inherent in legal documents.
4. **Clarity of Language**: The translation must be clear, unambiguous, and conform to the expressive conventions of English legal writing.
5. **Format Preservation**: Retain the paragraphs, numbering, and basic format of the original text.
# Text to be Translated
{text_to_translate}
"""
# --- 2. Siapkan teks hukum yang akan diterjemahkan ---
chinese_legal_text = "Este contrato entrará en vigor a partir de la fecha en que ambas partes lo firmen y sellen, y tendrá una vigencia de un año."
final_prompt = prompt_template.format(text_to_translate=chinese_legal_text)
# --- 3. Buat messages ---
messages = [{"role": "user", "content": final_prompt}]
# --- 4. Kirim permintaan API ---
completion = client.chat.completions.create(model="qwen-mt-plus", messages=messages)
# --- 5. Cetak hasil terjemahan model ---
translation_result = completion.choices[0].message.content
print(translation_result)import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
// Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
});
const promptTemplate = `
# Role
You are a professional legal translation expert, proficient in both Spanish and English, specializing in business contracts and legal documents.
# Task
I need you to translate the following Spanish legal text into professional, accurate, and formal English.
# Translation Requirements
1. **Fidelity to the Original**: Translate strictly according to the meaning and legal intent of the original text. Do not add or omit information.
2. **Precise Terminology**: Use standard legal terms common in the Common Law system. For example, "甲方" should be translated as "Party A", "乙方" as "Party B", and "不可抗力" as "Force Majeure".
3. **Formal Tone**: Maintain the rigorous, objective, and formal tone inherent in legal documents.
4. **Clarity**: The translation must be clear, unambiguous, and conform to the expressive conventions of English legal writing.
5. **Format Preservation**: Retain the paragraphs, numbering, and basic format of the original text.
# Text to Translate
{text_to_translate}
`;
const spanishLegalText = "This Contract shall become effective from the date of signature and seal by both parties and shall be valid for a period of one year.";
const finalPrompt = promptTemplate.replace('{text_to_translate}', spanishLegalText);
const messages = [{"role": "user", "content": final_prompt}];
async function main() {
const completion = await client.chat.completions.create({
model: "qwen-mt-plus",
messages: messages
});
const translationResult = completion.choices[0].message.content;
console.log(translationResult);
}
main();Respons contoh
This Contract shall become effective from the date on which both parties sign and affix their seals, and its term of validity shall be one year.DashScope
Permintaan contoh
import os
import dashscope
# Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
prompt_template = """
# Role
You are a professional legal translation expert, proficient in both Spanish and English, with special expertise in handling business contracts and legal documents.
# Task
I need you to translate the following Spanish legal text into professional, accurate, and formal English.
# Translation Requirements
1. **Fidelity to the Original**: Strictly translate according to the meaning and legal intent of the original text. Do not add or omit any information.
2. **Precise Terminology**: Use standard legal terms common to the Common Law system. For example, "甲方" should be translated as "Party A", "乙方" as "Party B", and "不可抗力" as "Force Majeure".
3. **Formal Tone**: Maintain the rigorous, objective, and formal style inherent in legal documents.
4. **Clear Phrasing**: The translation must be clear, unambiguous, and conform to the conventions of English legal writing.
5. **Preserve Formatting**: Maintain the paragraphs, numbering, and basic format of the original text.
# Text to be Translated
{text_to_translate}
"""
# --- 2. Siapkan teks hukum untuk diterjemahkan ---
chinese_legal_text = "This Contract shall become effective from the date of signature and seal by both parties and shall be valid for a period of one year."
final_prompt = prompt_template.format(text_to_translate=chinese_legal_text)
# --- 3. Buat messages ---
messages = [
{
"role": "user",
"content": final_prompt
}
]
response = dashscope.Generation.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-mt-plus",
messages=messages,
result_format='message',
)
print(response.output.choices[0].message.content)// SDK DashScope harus versi 2.20.6 atau lebih baru.
import java.lang.System;
import java.util.Collections;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
String promptTemplate = "# Role\n" +
"You are a professional legal translation expert, proficient in both Spanish and English, specializing in business contracts and legal documents.\n\n" +
"# Task\n" +
"I need you to translate the following Spanish legal text into professional, accurate, and formal English.\n\n" +
"# Translation Requirements\n" +
"1. **Fidelity to the Original**: Translate strictly according to the meaning and legal intent of the original text. Do not add or omit information.\n" +
"2. **Precise Terminology**: Use standard legal terms common in the Common Law system. For example, \"甲方\" should be translated as \"Party A\", \"乙方\" as \"Party B\", and \"不可抗力\" as \"Force Majeure\".\n" +
"3. **Formal Tone**: Maintain the rigorous, objective, and formal tone inherent in legal documents.\n" +
"4. **Clarity**: The translation must be clear, unambiguous, and conform to the expressive conventions of English legal writing.\n" +
"5. **Format Preservation**: Retain the paragraphs, numbering, and basic format of the original text.\n\n" +
"# Text to Translate\n" +
"{text_to_translate}";
String spanishLegalText = "This Contract shall become effective from the date of signature and seal by both parties and shall be valid for a period of one year.";
String finalPrompt = promptTemplate.replace("{text_to_translate}", spanishLegalText);
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content(finalPrompt)
.build();
GenerationParam param = GenerationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-mt-plus")
.messages(Collections.singletonList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Error message: "+e.getMessage());
e.printStackTrace();
}
}
}Respons contoh
This Contract shall become effective from the date on which both parties sign and affix their seals, and its term of validity shall be one year.Peluncuran
Kontrol jumlah token input
Model Qwen-MT memiliki batas maksimum input sebesar 8.192 token. Untuk konten panjang, pertimbangkan strategi berikut untuk mengontrol jumlah token input:
Terjemahkan per segmen: Saat menerjemahkan teks panjang, proseslah dalam segmen. Pisahkan teks berdasarkan unit semantik, seperti paragraf atau kalimat lengkap, bukan berdasarkan jumlah karakter. Pendekatan ini menjaga integritas konteks dan meningkatkan kualitas terjemahan.
Sediakan konten referensi yang paling relevan: Istilah, memori terjemahan, dan prompt domain ditambahkan ke prompt input sebagai token. Untuk mengoptimalkan penggunaan token, berikan hanya konten referensi yang paling relevan dengan tugas saat ini. Hindari penggunaan daftar umum yang besar.
Tentukan
source_langberdasarkan skenarioKetika bahasa sumber tidak pasti, seperti dalam skenario obrolan sosial dengan teks multibahasa, atur
source_langkeauto. Model secara otomatis mengidentifikasi bahasa sumber.Dalam skenario dengan bahasa tetap dan persyaratan akurasi tinggi, seperti dokumen teknis atau manual operasi, selalu tentukan
source_lang. Menentukan bahasa sumber secara eksplisit meningkatkan akurasi terjemahan.
Bahasa yang didukung
Gunakan Nama Inggris atau Kode dari tabel di bawah ini saat mengirim permintaan.
Jika Anda tidak yakin dengan bahasa sumber, Anda dapat mengatur parametersource_langkeautountuk deteksi otomatis.
Bahasa yang didukung oleh qwen-mt-plus/flash/turbo (92)
Bahasa | Nama Inggris | Kode |
Inggris | English | en |
Tionghoa Sederhana | Chinese | zh |
Tiongkok Tradisional | Traditional Chinese | zh_tw |
Rusia | Russian | ru |
Jepang | Japanese | ja |
Korea | Korean | ko |
Spanyol | Spanish | es |
Prancis | French | fr |
Portugis | Portuguese | pt |
Jerman | German | de |
Italia | Italian | it |
Bahasa Thailand | Thai | th |
Bahasa Vietnam | Vietnamese | vi |
Bahasa Indonesia | Indonesian | id |
Melayu | Malay | ms |
Arab | Arabic | ar |
Hindi | Hindi | hi |
Ibrani | Hebrew | he |
Bahasa Myanmar | Burmese | my |
Tamil | Tamil | ta |
Urdu | Urdu | ur |
Bengali | Bengali | bn |
Bahasa Polandia | Polish | pl |
Belanda | Dutch | nl |
Rumania | Romanian | ro |
Turki | Turkish | tr |
Khmer | Khmer | km |
Lao | Lao | lo |
Kanton | Cantonese | yue |
Ceko | Czech | cs |
Yunani | Greek | el |
Swedia | Swedish | sv |
Hongaria | Hungarian | hu |
Bahasa Denmark | Danish | da |
Finlandia | Finnish | fi |
Ukraina | Ukrainian | uk |
Bahasa Bulgaria | Bulgarian | bg |
Bahasa Serbia | Serbian | sr |
Telugu | Telugu | te |
Afrikaans | Afrikaans | af |
Armenia | Armenian | hy |
Bahasa Assam | Assamese | as |
Asturia | Asturian | ast |
Basque | Basque | eu |
Belarusia | Belarusian | be |
Bahasa Bosnia | Bosnian | bs |
Katalan | Catalan | ca |
Cebuano | Cebuano | ceb |
Kroasia | Croatian | hr |
Arab Mesir | Egyptian Arabic | arz |
Bahasa Estonia | Estonian | et |
Galisia | Galician | gl |
Georgia | Georgian | ka |
Bahasa Gujarat | Gujarati | gu |
Islandia | Icelandic | is |
Jawa | Javanese | jv |
Kannada | Kannada | kn |
Kazakh | Kazakh | kk |
Latvia | Latvian | lv |
Lituania | Lithuanian | lt |
Luksemburg | Luxembourgish | lb |
Makedonia | Macedonian | mk |
Maithili | Maithili | mai |
Bahasa Malta | Maltese | mt |
Marathi | Marathi | mr |
Arab Mesopotamia | Mesopotamian Arabic | acm |
Arab Maroko | Moroccan Arabic | ary |
Arab Najdi | Najdi Arabic | ars |
Nepali | Nepali | ne |
Azerbaijani Utara | North Azerbaijani | az |
Arab Levant Utara | North Levantine Arabic | apc |
Uzbek Utara | Northern Uzbek | uz |
Bokmål Norwegia | Norwegian Bokmål | nb |
Nynorsk Norwegia | Norwegian Nynorsk | nn |
Occitan | Occitan | oc |
Odia | Odia | or |
Pangasinan | Pangasinan | pag |
Sisilia | Sicilian | scn |
Sindhi | Sindhi | sd |
Sinhala | Sinhala | si |
Slovak | Slovak | sk |
Slovenia | Slovenian | sl |
Arab Levant Selatan | South Levantine Arabic | ajp |
Swahili | Swahili | sw |
Tagalog | Tagalog | tl |
Arab Ta’izzi-Adeni | Ta’izzi-Adeni Arabic | acq |
Albania Tosk | Tosk Albanian | sq |
Arab Tunisia | Tunisian Arabic | aeb |
Venetian | Venetian | vec |
Valaisan | Waray | war |
Welsh | Welsh | cy |
Persia Barat | Western Persian | fa |
Bahasa yang didukung oleh qwen-mt-lite (31)
Bahasa | Nama Inggris | Kode |
Inggris | English | en |
Tionghoa Sederhana | Chinese | zh |
Tiongkok Tradisional | Traditional Chinese | zh_tw |
Rusia | Russian | ru |
Jepang | Japanese | ja |
Korea | Korean | ko |
Spanyol | Spanish | es |
Prancis | French | fr |
Portugis | Portuguese | pt |
Jerman | German | de |
Italia | Italian | it |
Thai | Thai | th |
Bahasa Vietnam | Vietnamese | vi |
Bahasa Indonesia | Indonesian | id |
Melayu | Malay | ms |
Arab | Arabic | ar |
Hindi | Hindi | hi |
Ibrani | Hebrew | he |
Urdu | Urdu | ur |
Bengali | Bengali | bn |
Bahasa Polandia | Polish | pl |
Belanda | Dutch | nl |
Turki | Turkish | tr |
Khmer | Khmer | km |
Ceko | Czech | cs |
Swedia | Swedish | sv |
Hongaria | Hungarian | hu |
Bahasa Denmark | Danish | da |
Finlandia | Finnish | fi |
Tagalog | Tagalog | tl |
Persia | Persian | fa |
Referensi API
Untuk parameter input dan output Qwen-MT, lihat Model terjemahan Qwen-MT.