การกำหนดค่า¶
Co-op Translator ต้องการผู้ให้บริการโมเดลภาษาอย่างน้อยหนึ่งราย สำหรับการแปลภาพจะต้องมี Azure AI Vision เพิ่มเติม
การกำหนดค่านี้อ่านจากตัวแปรแวดล้อม สำหรับโปรเจ็กต์ภายในเครื่อง ให้วางไว้ในไฟล์ .env ที่รากของโปรเจ็กต์
สำหรับการตั้งค่าทรัพยากร Azure ให้ดูที่ การตั้งค่า Azure AI.
การตั้งค่าสภาพแวดล้อมรันไทม์ในเครื่อง¶
ใช้สภาพแวดล้อมเสมือน (virtual environment) ก่อนรัน CLI ในเครื่อง Co-op Translator รองรับ Python 3.11 ถึง 3.14
สำหรับการใช้งาน CLI ปกติ ให้ติดตั้งแพ็กเกจที่เผยแพร่ภายในสภาพแวดล้อมเสมือน:
Windows (PowerShell)¶
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install co-op-translator
translate --help
macOS / Linux¶
python3 -m venv .venv
source .venv/bin/activate
python -m pip install co-op-translator
translate --help
การพัฒนาในรีโพซิทอรี¶
สำหรับการพัฒนารีโพซิทอรี ให้ติดตั้ง dependencies จากรากของโปรเจ็กต์แทน:
หลังจากที่ CLI พร้อมใช้งาน ให้กำหนดค่าผู้ให้บริการโมเดลภาษาในไฟล์ .env
การเลือกผู้ให้บริการ¶
เครื่องมือนี้จะตรวจจับผู้ให้บริการโดยอัตโนมัติตามลำดับต่อไปนี้:
- Azure OpenAI
- OpenAI
- Anthropic
การแปลต้องการข้อมูลรับรองของผู้ให้บริการ ยกเว้นตัวอย่างเช่น translate -l "ko" -md --dry-run การทำงาน migrate-links, co-op-review, และ run_review เป็นการดำเนินการบำรุงรักษาที่มีพฤติกรรมกำหนดได้และไม่ต้องการข้อมูลรับรองของผู้ให้บริการ
แบ็กเอนด์ของไคลเอนต์โมเดล¶
เริ่มตั้งแต่ Co-op Translator 0.22.0 เป็นต้นไป Azure OpenAI, OpenAI และ Anthropic จะใช้ Microsoft Agent Framework เป็นค่าเริ่มต้น ไม่จำเป็นต้องตั้งค่าแบ็กเอนด์สำหรับการใช้งานปกติ
Semantic Kernel ยังคงใช้งานได้ชั่วคราวเพื่อความเข้ากันได้ หากต้องการเลือกใช้อย่างชัดเจน ให้กำหนดค่าเป็น:
การใช้ Semantic Kernel จะทำให้เกิดคำเตือนการเลิกใช้ แผนคือจะย้าย Semantic Kernel ไปเป็น dependency แบบไม่บังคับใน 0.23.0 และนำการผนวกรวมออกใน 0.24.0 ขึ้นกับผลการทดสอบความเข้ากันได้และความคิดเห็นจากผู้ใช้ Anthropic ต้องการ agent-framework; การเลือก semantic-kernel แบบชัดเจนกับ Anthropic จะล้มเหลวพร้อมข้อผิดพลาดการกำหนดค่า ค่าไม่ถูกต้องจะล้มเหลวระหว่างการเริ่มต้นตัวแปลที่พึ่งพาผู้ให้บริการ แทนที่จะตกกลับอย่างเงียบ ๆ ติดตามการเปิดตัวและรายงานปัญหาได้ที่ ปัญหา GitHub #543
Azure OpenAI¶
ใช้ Azure OpenAI เมื่อโมเดลของคุณถูกปรับใช้ใน Azure AI Foundry หรือ Azure OpenAI Service
AZURE_OPENAI_API_KEY="..."
AZURE_OPENAI_ENDPOINT="https://<resource>.openai.azure.com/"
AZURE_OPENAI_MODEL_NAME="gpt-4o"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="<deployment>"
AZURE_OPENAI_API_VERSION="2024-12-01-preview"
การตรวจสอบการเชื่อมต่อจะใช้ endpoint, API key, เวอร์ชันของ API และชื่อ deployment ก่อนที่การแปลจะเริ่มต้น
OpenAI¶
ใช้ OpenAI เมื่อเรียก OpenAI API โดยตรง
OPENAI_CHAT_MODEL_ID จำเป็นเพราะตัวแปลต้องการ chat model ที่ระบุชัดเจนสำหรับการเรียก API
ปล่อยให้ OPENAI_ORG_ID และ OPENAI_BASE_URL ไม่ถูกตั้งค่าสำหรับการตั้งค่าเริ่มต้น เพิ่ม organization ID ก็ต่อเมื่อบัญชีของคุณต้องการ หรือเพิ่ม base URL ก็ต่อเมื่อใช้ endpoint ที่กำหนดเอง อย่าคัดลอกค่าตัวอย่าง (placeholder) สำหรับการตั้งค่าแบบไม่บังคับ
Anthropic Claude¶
ใช้ Anthropic เมื่อเรียก Claude API โดยตรง สร้าง คีย์ API ของ Anthropic และเลือก ID โมเดล Claude ที่รองรับ
ANTHROPIC_API_KEY และ ANTHROPIC_MODEL จำเป็น ไม่จำเป็นต้องตั้งค่า CO_OP_TRANSLATOR_MODEL_CLIENT; Agent Framework เป็นแบ็กเอนด์เริ่มต้น
ปล่อยให้ ANTHROPIC_BASE_URL ไม่ถูกตั้งค่าสำหรับ Anthropic API ตั้งค่าเฉพาะเมื่อใช้ endpoint ที่กำหนดเอง
ANTHROPIC_MAX_TOKENS ตั้งค่าเริ่มต้นเป็น 8192 ซึ่งเผื่อพื้นที่สำหรับสคริปต์ที่หนาแน่นด้วยโทเค็นเช่น Meitei Mayek ลดค่านี้ลงหากโมเดลของคุณหรือ endpoint ที่เข้ากันได้กับ Anthropic จำกัดผลลัพธ์ต่ำกว่านั้น
Azure AI Vision¶
การแปลภาพต้องใช้ Azure AI Vision เพื่อให้เครื่องมือสามารถสกัดข้อความจากภาพก่อนที่โมเดลภาษาที่กำหนดจะทำการแปล Anthropic สามารถแปลข้อความที่สกัดได้เช่นเดียวกับ Azure OpenAI หรือ OpenAI
AZURE_AI_SERVICE_API_KEY="..."
AZURE_AI_SERVICE_ENDPOINT="https://<resource>.cognitiveservices.azure.com/"
หากเลือกการแปลภาพด้วย -img, images=True หรือไม่มีตัวกรอง content-type เครื่องมือจะตรวจสอบการกำหนดค่า Vision ก่อนที่การแปลจะเริ่มต้น
ชุดข้อมูลรับรองหลายชุด¶
ชั้นการกำหนดค่าสนับสนุนชุดข้อมูลรับรองหลายชุดโดยการเติมเลขดัชนีท้ายตัวแปรด้วยค่าเดียวกัน:
AZURE_OPENAI_API_KEY_1="..."
AZURE_OPENAI_ENDPOINT_1="https://<resource-1>.openai.azure.com/"
AZURE_OPENAI_MODEL_NAME_1="gpt-4o"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME_1="<deployment-1>"
AZURE_OPENAI_API_VERSION_1="2024-12-01-preview"
AZURE_OPENAI_API_KEY_2="..."
AZURE_OPENAI_ENDPOINT_2="https://<resource-2>.openai.azure.com/"
AZURE_OPENAI_MODEL_NAME_2="gpt-4o"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME_2="<deployment-2>"
AZURE_OPENAI_API_VERSION_2="2024-12-01-preview"
แต่ละชุดต้องครบถ้วน การตรวจสอบสถานะจะเลือกชุดที่ใช้งานได้ก่อนที่การแปลจะดำเนินการต่อ
OpenAI และ Anthropic รองรับคอนเวนชันการเติมท้ายนามเดียวกัน ให้เก็บตัวแปรทั้งหมดในชุดข้อมูลรับรองไว้บนท้ายนามเดียวกัน รวมถึงค่าที่ไม่บังคับเช่น OPENAI_BASE_URL_1 หรือ ANTHROPIC_BASE_URL_1
ข้อกำหนดของคำสั่ง¶
| คำสั่งหรือ API | ต้องการ LLM | ต้องการ Vision | หมายเหตุ |
|---|---|---|---|
translate -md |
ใช่ | ไม่ | แปลเฉพาะ Markdown. |
translate -nb |
ใช่ | ไม่ | แปลเฉพาะโน้ตบุ๊ก. |
translate -img |
ใช่ | ใช่ | แปลเฉพาะภาพ. |
translate เมื่อไม่มีแฟล็กประเภท |
ใช่ | ใช่ | โหมดเริ่มต้นรวมถึง Markdown, โน้ตบุ๊ก และภาพ. |
evaluate |
ใช่ | ไม่ | ใช้การประเมินโดย LLM ยกเว้นเมื่อเลือก --fast. |
migrate-links |
ไม่ | ไม่ | ดำเนินการย้ายลิงก์ภายในเครื่องโดยไม่เรียกผู้ให้บริการ. |
co-op-review |
ไม่ | ไม่ | ดำเนินการตรวจสอบโครงสร้างการแปลแบบกำหนดได้, ความสดใหม่, Markdown, โน้ตบุ๊ก และลิงก์ภายในเครื่อง. |
run_translation(markdown=True) |
ใช่ | ไม่ | การแปล Markdown ผ่านโปรแกรม. |
run_translation(images=True) |
ใช่ | ใช่ | การแปลภาพผ่านโปรแกรม. |
run_review(...) |
ไม่ | ไม่ | การตรวจสอบแบบกำหนดได้ผ่านโปรแกรม. |
ไดเร็กทอรีผลลัพธ์¶
ผลลัพธ์การแปลข้อความเริ่มต้น:
ผลลัพธ์การแปลภาพเริ่มต้น:
Python API สามารถเขียนทับไดเร็กทอรีเหล่านี้ได้ด้วย translations_dir และ image_dir