🌍 Multilingual Translation 🆕
🌍 API สำหรับการแปลภาษา
บริการแปลภาษาที่รวดเร็วและแม่นยำ รองรับ 28 ภาษา ออกแบบมาสำหรับ ข้อความยาว และ ประสิทธิภาพสูง รองรับทั้งการแปลแบบ ทีละข้อความ และ แบบชุด
ทดลองใช้งาน
🚀 จุดเด่น
-
รองรับ 28 ภาษา:
ar
,bn
,cs
,de
,en
,es
,fa
,fr
,he
,hi
,id
,it
,ja
,km
,ko
,lo
,ms
,my
,nl
,pl
,pt
,ru
,th
,tl
,tr
,ur
,vi
,zh
-
รองรับทั้งแบบ Single & Batch
-
รองรับข้อความยาวได้ไม่จำกัด – แบ่งต่อประโยครระดับประโยคโดยย่อย
-
ความแม่นยำสูง – ทดสอบโดยใช้ BERTScore กับชุดข้อมูลจริง
📈 เปรียบเทียบ (Thai → English)
ทดสอบจากคู่แปล 133,330 ประโยค ในSCB MT En-TH 2020 dataset.
โหมด | เฉลี่ย เวลา / 100 ประโยค |
---|---|
🧠 Batch | 18.06 sec |
🐌 Single | 30.54 sec |
💡 Tip: แนะใช้ batch API เพื่อประสิทธิภาพที่ดีที่สุด
🧪 คุณภาพ (BERTScore)
คะแนนความคล้ายคือกันระหว่างประโยคกับค้อที่รับ (1.0 = ตรงกันเป็นพิเบส)
Source → Target | BERTScore Mean |
---|---|
EN → MY | 0.9561 |
EN → TH | 0.9506 |
EN → JA | 0.9169 |
JA → EN | 0.9146 |
TH → EN | 0.8728 |
TH → MY | 0.8571 |
ZH → EN | 0.8571 |
✅ ทุกคู่ทดสอบแล้ว คะแนน > 0.80
📡 API Endpoints
🔹 Single Translation
POST /v1/text/translate
Content-Type: application/x-www-form-urlencoded
Params:
text
: Text to translatesource_lang
: Source language code (e.g.en
)target_lang
: Target language code (e.g.th
)max_length
: (optional) Max output tokens
Example:
curl -X POST "https://api.iapp.co.th/v1/text/translate" \
-H "apikey: YOUR_API_KEY" \
-F "text=Hello" \
-F "source_lang=en" \
-F "target_lang=th"
Response:
{
"translation": "สวัสดี",
"processing_time": 0.056
}
🔹 Batch Translation
POST /v1/text/batch_translate
Content-Type: application/json
Body:
[
{
"text": "Hello",
"source_lang": "en",
"target_lang": "fr"
},
{
"text": "こんにちは",
"source_lang": "ja",
"target_lang": "en"
}
]
Response:
{
"results": [
{ "translation": "Bonjour", "index": 0 },
{ "translation": "Hello", "index": 1 }
]
}
🐍 Python Code Example
import requests
def translate_text(text, source_lang, target_lang, api_key, api_url="https://api.iapp.co.th"):
"""
Translate text using the Translation API
Args:
text (str): Text to translate
source_lang (str): Source language code (e.g., 'en', 'th', 'zh')
target_lang (str): Target language code (e.g., 'en', 'th', 'zh')
api_key (str): Your API key
api_url (str): Base URL of the API
Returns:
dict: Translation response
"""
data = {
"text": text,
"source_lang": source_lang,
"target_lang": target_lang
}
headers = {
"apikey": api_key
}
response = requests.post(f"{api_url}/v1/text/translate", data=data, headers=headers)
response.raise_for_status() # Raise exception for HTTP errors
return response.json()
# Example usage:
# result = translate_text("Hello", "en", "th", api_key="YOUR_API_KEY")
# print(result["translation"])
✅ This code uses application/x-www-form-urlencoded
format, consistent with the API spec.
⚠️ Errors
Code | Description |
---|---|
400 | พารามิเตอร์ไม่ถูกต้อง |
401 | ขาดหรือรหัส API ไม่ถูกต้อง |
429 | เกินขีดจำกัดการใช้งาน |
500 | ข้อผิดพลาดที่ฝั่งเซิร์ฟเวอร์ |
503 | โมเดลไม่สามารถโหลดได้หรือบริการไม่พร้อมใช้งาน |
✅ สรุป
- 🏁 แปลได้รวดเร็ว และแม่นยำสูงสำหรับ 28 ภาษา
- 📄 รองรับข้อความยาวยาวได้อัตโนมัติ
- 🧪 ผลทดสอบของแปลแบบคุณภาพสูง
- 📦 ใช้ batch เพื่อเพิ่มประสิทธิภาพ