วิธีการแปลภาษา
Rosetta รองรับวิธีการแปลภาษา 10 วิธี แต่ละคู่ภาษาสามารถใช้วิธีที่แตกต่างกันได้ — คุณไม่จำเป็นต้องยึดติดกับวิธีเดียวสำหรับทั้งโปรเจกต์ของคุณ
การเปรียบเทียบวิธีการ
ผู้ให้บริการ LLM
เน้นคุณภาพ, รองรับ Markdown, เข้ากันได้กับ coaching เหมาะที่สุดสำหรับโปรเจกต์ที่มีเนื้อหาเยอะ
| วิธีการ | คีย์ | หน้าที่การทำงาน |
|---|---|---|
llm (ค่าเริ่มต้น) | OPENROUTER_API_KEY | LLM ผ่าน OpenRouter — มีโมเดลมากกว่า 200 แบบ, กำหนดเส้นทางอัตโนมัติ |
llm-coached | OPENROUTER_API_KEY | LLM + กฎไวยากรณ์, พจนานุกรม, บันทึกรูปแบบ (style notes) |
openai | OPENAI_API_KEY | OpenAI API โดยตรง (gpt-4o, gpt-4o-mini) |
anthropic | ANTHROPIC_API_KEY | Anthropic API โดยตรง (Claude Sonnet, Haiku, Opus) |
gemini | GEMINI_API_KEY | Google Gemini API โดยตรง (Flash, Pro) — มีระดับใช้งานฟรี |
Traditional MT
เน้นความเร็วและต้นทุน เหมาะที่สุดสำหรับคู่คีย์-ค่า (key-value pairs) จำนวนมาก
| วิธีการ | คีย์ | หน้าที่การทำงาน |
|---|---|---|
google-translate | GOOGLE_TRANSLATE_API_KEY | Google Cloud Translation API v2 (130+ ภาษา) |
deepl | DEEPL_API_KEY | DeepL API พร้อมรองรับ glossary (30+ ภาษา) |
microsoft-translator | MICROSOFT_TRANSLATOR_API_KEY | Azure Cognitive Services Translator (100+ ภาษา) |
libretranslate | (โฮสต์เอง) | LibreTranslate แบบโฮสต์เอง (AGPL, ฟรี) |
โครงสร้างพื้นฐาน (Infrastructure)
| วิธีการ | คีย์ | หน้าที่การทำงาน |
|---|---|---|
api | (ตามผู้ให้บริการ) | Thin HTTP client สำหรับ REST translation endpoint ใดๆ |
แผนผังการตัดสินใจ (Decision Tree)
llm — การแปลด้วย LLM (ค่าเริ่มต้น)
แปลภาษาผ่าน LLM ใดๆ บน OpenRouter นี่คือวิธีการเริ่มต้นและมีความอเนกประสงค์มากที่สุด
วิธีการทำงาน:
- จัดกลุ่มคีย์ (ค่าเริ่มต้น 80 คีย์/ชุด) พร้อมคำสั่งเกี่ยวกับระดับภาษา (register) และบริบท
- ส่งไปยัง OpenRouter ในรูปแบบ prompt ที่มีโครงสร้าง
- แปลงผลลัพธ์ (Parse) การตอบกลับแบบ JSON
- ตรวจสอบความถูกต้องของการแปลแต่ละรายการผ่าน quality gate
- บันทึกคำแปลที่ผ่านเกณฑ์, ลองใหม่ หรือปฏิเสธคำแปลที่ไม่ผ่านเกณฑ์
เมื่อใดควรใช้: โปรเจกต์ส่วนใหญ่ โดยเฉพาะเว็บไซต์ที่มีเนื้อหาเยอะและใช้ Markdown ซึ่งจำเป็นต้องปกป้อง code blocks และ shortcodes
การตั้งค่า:
{
"defaultMethod": "llm",
"model": "google/gemini-3.5-flash"
}
llm-coached — การแปลด้วย Coached LLM
เหมือนกับ llm แต่มีการแทรกกฎไวยากรณ์, พจนานุกรมคำศัพท์, และบันทึกรูปแบบ (style notes) ลงในทุก prompt
วิธีการทำงาน:
- โหลดข้อมูล coaching จาก
.rosetta/coaching/<locale>.jsonหรือไดเรกทอรีcoaching/ของปลั๊กอิน - แทรกกฎไวยากรณ์, คำศัพท์ในพจนานุกรม, และบันทึกรูปแบบลงใน system prompt
- คำศัพท์ในพจนานุกรมที่ตรงกับคีย์ต้นทางจะถูกรวมไว้เป็นคำศัพท์ที่บังคับใช้
- ดำเนินการแปลเช่นเดียวกับ
llmโดยใช้ข้อมูล coaching เพื่อเพิ่มความแม่นยำ
เมื่อใดควรใช้: ภาษาที่มีทรัพยากรน้อย (low-resource languages), คำศัพท์เฉพาะทาง (กฎหมาย, การแพทย์), ระดับภาษาที่เป็นทางการ, หรือกรณีใดๆ ที่ผลลัพธ์จาก LLM ทั่วไปไม่มีความแม่นยำเพียงพอ
รูปแบบข้อมูล Coaching:
{
"grammar_rules": [
"French adjectives agree in gender and number with the noun they modify",
"Use 'vous' for formal contexts, 'tu' for informal"
],
"dictionary": {
"dashboard": "tableau de bord",
"deployment": "déploiement",
"settings": "paramètres"
},
"style_notes": "Prefer active voice. Avoid anglicisms where a native French term exists."
}
ดูเพิ่มเติม: คู่มือสำหรับภาษาที่มีทรัพยากรน้อย (Low-Resource Languages Guide)
openai — OpenAI API โดยตรง
แปลภาษาโดยตรงผ่าน OpenAI Chat Completions API ไม่มีตัวกลางอย่าง OpenRouter — ใช้คีย์ของคุณ, บัญชีของคุณ, และแดชบอร์ดการใช้งานของคุณ
โมเดล: gpt-4o (ค่าเริ่มต้น), gpt-4o-mini
คุณสมบัติ:
- ✅ รองรับ Markdown (การแปลเนื้อหา)
- ✅ รองรับ Coaching (กฎไวยากรณ์, การแทนที่ด้วยพจนานุกรม, บันทึกรูปแบบ)
- ✅ โหมด JSON สำหรับผลลัพธ์คีย์-ค่า (key-value) ที่มีโครงสร้าง
- ✅ การหน่วงเวลาแบบทวีคูณ (Exponential backoff) พร้อมการลองใหม่ (retry)
การตั้งค่า:
{
"pairs": {
"en:fr": { "method": "openai", "model": "gpt-4o-mini" }
}
}
export OPENAI_API_KEY=sk-proj-...
รับคีย์ของคุณได้ที่ platform.openai.com/api-keys
anthropic — Anthropic API โดยตรง
แปลภาษาโดยตรงผ่าน Anthropic Messages API ใช้พารามิเตอร์ system สำหรับข้อมูล coaching ซึ่งช่วยให้สามารถใช้งาน prompt caching ของ Anthropic ได้
โมเดล: claude-sonnet-4-6 (ค่าเริ่มต้น), claude-haiku-4-5, claude-opus-4-7
คุณสมบัติ:
- ✅ รองรับ Markdown (การแปลเนื้อหา)
- ✅ รองรับ Coaching (กฎไวยากรณ์, การแทนที่ด้วยพจนานุกรม, บันทึกรูปแบบ)
- ✅ System prompt caching (เฉลี่ยต้นทุน coaching ในแต่ละชุดข้อมูล)
- ✅ การหน่วงเวลาแบบทวีคูณพร้อมการลองใหม่
การตั้งค่า:
{
"pairs": {
"en:ja": { "method": "anthropic", "model": "claude-haiku-4-5" }
}
}
export ANTHROPIC_API_KEY=sk-ant-...
รับคีย์ของคุณได้ที่ console.anthropic.com
gemini — Google Gemini API โดยตรง
แปลภาษาโดยตรงผ่าน Google Gemini generateContent API มีระดับใช้งานฟรี (Free tier) — เป็นจุดเริ่มต้นแบบไม่มีค่าใช้จ่ายที่ดีที่สุด
โมเดล: gemini-2.5-flash (ค่าเริ่มต้น), gemini-2.5-pro
คุณสมบัติ:
- ✅ รองรับ Markdown (การแปลเนื้อหา)
- ✅ รองรับ Coaching (กฎไวยากรณ์, การแทนที่ด้วยพจนานุกรม, บันทึกรูปแบบ)
- ✅ โหมดการตอบกลับแบบ JSON ผ่าน
responseMimeType - ✅ ระดับใช้งานฟรี (โควตารายวันจำนวนมาก)
- ✅ การหน่วงเวลาแบบทวีคูณพร้อมการลองใหม่
การตั้งค่า:
{
"pairs": {
"en:ko": { "method": "gemini", "model": "gemini-2.5-pro" }
}
}
export GEMINI_API_KEY=AI...
รับคีย์ของคุณได้ที่ aistudio.google.com/apikey
การตรวจสอบความถูกต้องของโมเดล (Model Validation)
ผู้ให้บริการ LLM โดยตรง (openai, anthropic, gemini) จะตรวจสอบสตริงโมเดลของคุณในการใช้งานครั้งแรก ซึ่งจะช่วยตรวจจับข้อผิดพลาด 3 ประเภท:
รูปแบบวิธีการผิด — การใช้ path ของโมเดลในรูปแบบ OpenRouter กับผู้ให้บริการโดยตรง:
[WARN] OpenAI: model "google/gemini-3.5-flash" looks like an OpenRouter path.
Direct providers use bare model names (e.g., "gpt-4o").
To use OpenRouter models, set method to 'llm' instead.
ผู้ให้บริการผิด — การใช้โมเดลจากผู้ให้บริการรายอื่นโดยสิ้นเชิง:
[WARN] Gemini: model "claude-sonnet-4-6" is an Anthropic model.
This provider (gemini) cannot serve Anthropic models.
Use --method anthropic or set "method": "anthropic" in config.
โมเดลถูกยกเลิกหรือสะกดผิด — ในการเรียกใช้ API ครั้งแรก rosetta จะดึงรายการโมเดลล่าสุดของผู้ให้บริการและตรวจสอบโมเดลของคุณกับรายการนั้น:
[WARN] Gemini: model "gemini-1.5-flash" not found in available models.
Similar models: gemini-2.0-flash, gemini-2.5-flash, gemini-2.5-pro
The API call will proceed — the provider will give the final verdict.
:::note นี่คือคำเตือน ไม่ใช่ข้อผิดพลาด (errors) การตรวจสอบโมเดลจะบันทึกคำเตือนแต่จะไม่บล็อกการเรียก API ผู้ให้บริการ API จะเป็นผู้ตัดสินขั้นสุดท้าย — ชื่อโมเดลในอนาคตอาจตรงกับรูปแบบที่แตกต่างออกไป และเราไม่ต้องการปิดกั้นด้วยการใช้ heuristics :::
google-translate — Google Cloud Translation API
การผสานการทำงานโดยตรงกับ Google Cloud Translation API v2 ใช้ REST API — ไม่มี SDK, ไม่มี service account ใช้เพียงแค่ API key
เมื่อใดควรใช้: คู่สตริงคีย์-ค่า (key-value) จำนวนมากที่ความเร็วและต้นทุนมีความสำคัญมากกว่าความสละสลวยของภาษา รองรับมากกว่า 130 ภาษาทันทีที่ใช้งาน
ข้อจำกัด:
- ⚠️ ไม่รองรับ Markdown จะทำให้ code blocks, shortcodes, และตัวแปร interpolation เสียหาย
- ไม่มีการควบคุมระดับภาษา/น้ำเสียง (register/tone)
- ไม่มีการใช้ coaching หรือการบังคับใช้คำศัพท์เฉพาะ
npx i18n-rosetta sync --method google-translate
:::tip การตรวจจับอัตโนมัติ
หากมีการตั้งค่าเพียง GOOGLE_TRANSLATE_API_KEY (ไม่มีคีย์ OpenRouter) rosetta จะสลับไปใช้ Google Translate โดยอัตโนมัติ ไม่จำเป็นต้องเปลี่ยนการตั้งค่า
:::
deepl — DeepL API
การผสานการทำงานโดยตรงกับ DeepL translation API รองรับ glossaries เพื่อความสม่ำเสมอของคำศัพท์
เมื่อใดควรใช้: ภาษายุโรปที่ DeepL ทำได้ดีเยี่ยม (เยอรมัน, ฝรั่งเศส, สเปน, ดัตช์, โปแลนด์ ฯลฯ) การรองรับ Glossary ช่วยบังคับใช้คำศัพท์ให้สม่ำเสมอโดยไม่ต้องใช้ข้อมูล coaching
คุณสมบัติ:
- ✅ การตรวจจับ endpoint แบบ free/pro อัตโนมัติ (ต่อท้ายด้วย
:fxบนคีย์ฟรี) - ✅ การสร้างและการจัดการ Glossary
- ✅ การควบคุมระดับความเป็นทางการ
- ⚠️ ไม่รองรับ Markdown — สำหรับคู่คีย์-ค่าเท่านั้น
การตั้งค่า:
{
"pairs": {
"en:de": { "method": "deepl" }
}
}
export DEEPL_API_KEY=your-key-here
รับคีย์ของคุณได้ที่ deepl.com/pro-api
microsoft-translator — Azure Cognitive Services
การผสานการทำงานโดยตรงกับ Microsoft Translator Text API v3
เมื่อใดควรใช้: สภาพแวดล้อมระดับองค์กรที่มีโครงสร้างพื้นฐาน Azure อยู่แล้ว รองรับมากกว่า 100 ภาษา รวมถึงหลายภาษาที่ Google Translate ไม่ครอบคลุม
คุณสมบัติ:
- ✅ สูงสุด 100 segments ต่อคำขอ (ปริมาณงานสูง)
- ✅ พารามิเตอร์ region (ตัวเลือก) สำหรับการปรับแต่ง latency
- ⚠️ ไม่รองรับ Markdown — สำหรับคู่คีย์-ค่าเท่านั้น
- ⚠️ ไม่มีการแปลเนื้อหา — สำหรับคู่คีย์-ค่าเท่านั้น
การตั้งค่า:
{
"pairs": {
"en:ar": { "method": "microsoft-translator" }
}
}
export MICROSOFT_TRANSLATOR_API_KEY=your-key
export MICROSOFT_TRANSLATOR_REGION=global # optional
รับคีย์ของคุณจาก Azure Portal → Cognitive Services → Translator
libretranslate — การแปลแบบโฮสต์เอง (Self-Hosted Translation)
การแปลแบบโอเพนซอร์สที่โฮสต์เองโดยใช้ LibreTranslate ทำงานบนเครื่อง (locally) หรือบนโครงสร้างพื้นฐานของคุณเอง — ไม่มีค่าใช้จ่าย API, มีอำนาจอธิปไตยของข้อมูลอย่างสมบูรณ์
เมื่อใดควรใช้: โปรเจกต์ที่ต้องการการแปลแบบออฟไลน์, การปฏิบัติตามกฎระเบียบความเป็นส่วนตัวของข้อมูล (GDPR), หรือการทำงานที่ไม่มีค่าใช้จ่าย มีประโยชน์อย่างยิ่งสำหรับ CI pipelines ที่ไม่ควรพึ่งพา API ภายนอก
คุณสมบัติ:
- ✅ โฮสต์เอง — ไม่มีการเรียกใช้ API ภายนอก
- ✅ ฟรีและเป็นโอเพนซอร์ส (AGPL-3.0)
- ✅ มีการปรับใช้ (deployment) ผ่าน Docker
- ⚠️ ไม่รองรับ Markdown — สำหรับคู่คีย์-ค่าเท่านั้น
- ⚠️ ไม่มีการแปลเนื้อหา — สำหรับคู่คีย์-ค่าเท่านั้น
- ⚠️ คุณภาพแตกต่างกันไปตามคู่ภาษา
การติดตั้ง:
# Run LibreTranslate locally with Docker
docker run -d -p 5000:5000 libretranslate/libretranslate
# Configure (optional — defaults to localhost:5000)
export LIBRETRANSLATE_API_URL=http://localhost:5000/translate
{
"pairs": {
"en:es": { "method": "libretranslate" }
}
}
api — Remote Translation API
Thin HTTP client สำหรับ translation endpoints ที่โฮสต์โดยชุมชนหรือได้รับการคุ้มครองทรัพย์สินทางปัญญา (IP-protected) Rosetta จะส่งคีย์ออกไปและรับคำแปลกลับมา — โดยไม่มีตรรกะการแปลใดๆ อยู่ภายใน
เมื่อใดควรใช้: เมื่อวิธีการแปลถูกโฮสต์อยู่ฝั่งเซิร์ฟเวอร์ (เช่น ข้อมูล coaching ที่เป็นกรรมสิทธิ์, โมเดลที่ผ่านการ fine-tune, FST pipelines ที่ไม่สามารถแจกจ่ายได้)
{
"pairs": {
"en:crk": {
"method": "api",
"endpoint": "https://api.example.com/v1/translate",
"apiKey": "your-key"
}
}
}
:::note การแปลโดยชุมชนที่เข้ากันได้กับ OCAP
วิธีการ api คือสะพานเชื่อมไปยัง การแปลที่โฮสต์โดยชุมชนซึ่งเข้ากันได้กับ OCAP ชุมชนชนพื้นเมืองและภาษาชนกลุ่มน้อยสามารถโฮสต์ translation endpoints ของตนเองได้ — โดยเก็บข้อมูล coaching, โมเดลที่ผ่านการ fine-tune, และทรัพย์สินทางปัญญาด้านภาษาศาสตร์ไว้ภายใต้การควบคุมของชุมชน — ในขณะที่ Rosetta เชื่อมต่อกับพวกเขาในฐานะ thin client
ดู การสนับสนุนภาษาที่มีทรัพยากรน้อย (Support a Low-Resource Language) สำหรับคำแนะนำการโฮสต์โดยชุมชนแบบเต็มรูปแบบ, และ การให้บริการวิธีการผ่าน API (Serving a Method via API) สำหรับข้อกำหนดของ endpoint :::
การตั้งค่าตามคู่ภาษา (Per-Pair Configuration)
พลังที่แท้จริงคือการผสมผสานวิธีการตามคู่ภาษา:
{
"version": 3,
"pairs": {
"en:fr": { "method": "deepl" },
"en:ja": { "method": "openai", "model": "gpt-4o" },
"en:ko": { "method": "gemini" },
"en:ar": { "method": "microsoft-translator" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
สิ่งนี้จะแปลภาษาฝรั่งเศสผ่าน DeepL (รองรับ glossary), ภาษาญี่ปุ่นผ่าน OpenAI (คุณภาพ), ภาษาเกาหลีผ่าน Gemini (ระดับใช้งานฟรี), ภาษาอาหรับผ่าน Microsoft Translator (ความครอบคลุม), และภาษา Plains Cree ผ่าน coached plugin (เฉพาะทาง)
ปลั๊กอิน (Plugins)
ปลั๊กอินคือสูตรการแปลที่จัดเตรียมไว้ล่วงหน้าสำหรับคู่ภาษาเฉพาะ เป็น JSON manifests — ไม่ใช่โค้ด — ที่บอก rosetta ว่าควรใช้วิธีการใด, ด้วยการตั้งค่าแบบใด, และคุณภาพใดที่ได้รับการเปรียบเทียบ (benchmarked) แล้ว
:::tip จาก eval harness สู่ production ในคำสั่งเดียว
ปลั๊กอินที่พัฒนาและพิสูจน์แล้วใน eval harness สามารถติดตั้งได้โดยตรง — วิธีการที่คุณตรวจสอบความถูกต้องที่นั่นสามารถนำมาใช้งานที่นี่ได้ด้วยคำสั่ง plugin install เพียงคำสั่งเดียว ดู การประเมิน MT (MT Evaluation) สำหรับเวิร์กโฟลว์การประเมินฉบับเต็ม
:::
i18n-rosetta plugin install ./french-formal-v1/
i18n-rosetta plugin list
i18n-rosetta plugin remove french-formal-v1
ดู ข้อกำหนดของปลั๊กอิน (Plugin Specification) สำหรับรูปแบบ manifest ฉบับเต็ม
การสลับผู้ให้บริการ (Switching Providers)
ต้องการเปลี่ยนวิธีการใช่ไหม? รูปแบบโมเดลและตัวแปรสภาพแวดล้อม (env var) จะเปลี่ยนไป — นี่คือแผนผัง:
OpenRouter → ผู้ให้บริการโดยตรง
{
"pairs": {
"en:fr": {
- "method": "llm",
- "model": "openai/gpt-4o"
+ "method": "openai",
+ "model": "gpt-4o"
}
}
}
- export OPENROUTER_API_KEY=sk-or-v1-...
+ export OPENAI_API_KEY=sk-proj-...
ข้อแตกต่างที่สำคัญ:
- OpenRouter ใช้รูปแบบ
provider/model(เช่นopenai/gpt-4o) ผู้ให้บริการโดยตรงใช้ชื่อโมเดลเปล่าๆ (เช่นgpt-4o) - ผู้ให้บริการโดยตรงแต่ละรายมีตัวแปรสภาพแวดล้อมของตนเอง (
OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY) - หากคุณใช้รูปแบบโมเดลผิด rosetta จะเตือนคุณ — ดู การตรวจสอบความถูกต้องของโมเดล (Model Validation)
ผู้ให้บริการโดยตรง → OpenRouter
{
"pairs": {
"en:ja": {
- "method": "anthropic",
- "model": "claude-sonnet-4-6"
+ "method": "llm",
+ "model": "anthropic/claude-sonnet-4-6"
}
}
}
:::tip เมื่อใดควรใช้ OpenRouter เทียบกับผู้ให้บริการโดยตรง ใช้ OpenRouter เมื่อคุณต้องการสลับระหว่างโมเดลโดยไม่ต้องเปลี่ยนตัวแปรสภาพแวดล้อม, หรือเมื่อคุณต้องการเข้าถึงโมเดลมากกว่า 200 แบบจากคีย์เดียว ใช้ผู้ให้บริการโดยตรง เมื่อคุณต้องการการเรียกเก็บเงินที่ง่ายกว่า, latency ที่ต่ำกว่า (ไม่มีตัวกลาง), หรือเข้าถึงคุณสมบัติเฉพาะของผู้ให้บริการ เช่น prompt caching ของ Anthropic :::
การเปรียบเทียบต้นทุน (Cost Comparison)
ต้นทุนโดยประมาณต่อ 1,000 คีย์ที่แปล (สมมติว่า ~10 โทเค็นต่อคีย์, 80 คีย์ต่อชุด):
| วิธีการ | ต้นทุน / 1K คีย์ | ความเร็ว | คุณภาพ | เหมาะที่สุดสำหรับ |
|---|---|---|---|---|
gemini (Flash) | ฟรี (ภายในระดับใช้งาน) | เร็ว | ดี | การเริ่มต้น, โปรเจกต์ส่วนตัว |
google-translate | ~$0.02 | เร็วที่สุด | พอใช้ | ปริมาณมาก, ภาษายุโรป |
deepl | ~$0.02 | เร็ว | ดี | ภาษายุโรป, คำศัพท์เฉพาะ |
microsoft-translator | ~$0.01 | เร็ว | พอใช้ | ผู้ใช้ Azure, ความครอบคลุมภาษาที่กว้างขวาง |
libretranslate | ฟรี (โฮสต์เอง) | แตกต่างกันไป | ปานกลาง | ระบบปิด (Air-gapped), GDPR, CI pipelines |
gemini (Pro) | ~$0.07 | ปานกลาง | ดีมาก | เน้นคุณภาพ, โควตาฟรี |
openai (GPT-4o-mini) | ~$0.01 | เร็ว | ดี | LLM ราคาประหยัด |
openai (GPT-4o) | ~$0.10 | ปานกลาง | ดีมาก | เน้นคุณภาพ |
anthropic (Haiku) | ~$0.01 | เร็ว | ดี | LLM ราคาประหยัด |
anthropic (Sonnet) | ~$0.10 | ปานกลาง | ดีมาก | เน้นคุณภาพ |
anthropic (Opus) | ~$0.50 | ช้า | ยอดเยี่ยม | คุณภาพสูงสุด |
llm (OpenRouter) | แตกต่างกันไปตามโมเดล | แตกต่างกันไป | แตกต่างกันไป | การเปรียบเทียบโมเดล, การทดลอง |
:::note นี่คือการประมาณการ ต้นทุนจริงขึ้นอยู่กับความยาวของข้อความต้นทาง, ขนาดชุดข้อมูล (batch size), และการเปลี่ยนแปลงราคาของผู้ให้บริการ โปรดตรวจสอบหน้าราคาปัจจุบันของผู้ให้บริการแต่ละรายสำหรับอัตราที่แน่นอน :::
ดูเพิ่มเติม
- ภาษาที่รองรับ (Supported Languages)
- ข้อมูล Coaching (Coaching Data)
- การสนับสนุนภาษาที่มีทรัพยากรน้อย (Support a Low-Resource Language)
- ข้อกำหนดของปลั๊กอิน (Plugin Specification)
- การให้บริการวิธีการผ่าน API (Serving a Method via API)
- Quality Gate
- สถาปัตยกรรม (Architecture)
- การแก้ไขปัญหา (Troubleshooting) — ข้อผิดพลาดของโมเดล, ปัญหา API