14 คะแนน โดย kargnas 2025-03-24 | 5 ความคิดเห็น | แชร์ทาง WhatsApp

เคยแนะนำไปก่อนหน้านี้ในโพสต์ก่อนหน้า แต่ครั้งนี้มีการอัปเดตฟีเจอร์ใหม่และรีแฟกเตอร์ จึงอยากมาแชร์ครับ

ผมเป็นผู้ก่อตั้งและผู้ดำเนินงานของ OP.GG ซึ่งเป็นบริการข้อมูลเกมระดับโลก

เรารองรับภาษามากกว่า 15 ภาษา ระหว่างทางที่ผ่านมา เราเจอปัญหาหลายอย่างจากการใช้ผู้แปลมนุษย์ เช่น ตารางงานเลื่อนออกไปหลายเดือน, ถูกเอาเปรียบจากบริษัทแปลที่แอบใช้เครื่องแปลอัตโนมัติแล้วส่งงานมา, หรือคุณภาพงานแปลที่ต่ำเกินไป จึงเป็นที่มาของโปรเจกต์นี้ที่ออกแบบขึ้นใหม่

โปรเจกต์นี้เริ่มต้นจากเป้าหมายว่า เมื่อต้องแปลมากกว่า 3 ภาษา ควรทำได้เร็วกว่าการจ้างคนแปลมาก (ภายในไม่กี่นาที) และแม้จะไม่ใช่คุณภาพสูงสุด แต่ต้องการการันตีคุณภาพอย่างน้อยในระดับปานกลางขึ้นไปด้วยการใช้เทคโนโลยี AI ถ้าการแปลโดยมนุษย์คือ 90 คะแนน และ Google Translate คือ 30 คะแนน เป้าหมายของตัวแปลนี้คือ 80 คะแนน และตามพัฒนาการของ LLM ก็ดูเหมือนว่าในอีก 1-2 ปีข้างหน้าอาจไปถึง 90 คะแนนขึ้นไปได้เช่นกัน แน่นอนว่าต้นทุนต่ำกว่าการใช้คนมาก

ฟีเจอร์หลักที่นำมาพิจารณามีดังนี้

  • ใส่ String ที่เกี่ยวข้องให้ได้มากที่สุดลงในคอนเท็กซ์ตอนส่งคำขอไปยัง AI เพื่อเพิ่มความสม่ำเสมอของการแปลและการเลือกใช้คำ โดยจะใส่ทั้งสตริงของภาษาต้นทางและสตริงที่แปลแล้วของภาษาเป้าหมายลงในคอนเท็กซ์ [ฟีเจอร์ใหม่]
  • หากคุณใช้ CrowdIn ซึ่งเป็นทั้งแพลตฟอร์มแปลแบบโซเชียลและแพลตฟอร์มแปลที่เชื่อมต่อกับผู้ให้บริการภายนอกได้สะดวก ก็มีฟีเจอร์แอบซ่อนสำหรับแปลโปรเจกต์ใน CrowdIn ด้วย คุณจึงใช้กับโปรเจกต์ที่ไม่เกี่ยวข้องกับ Laravel เลยก็ได้ แม้จะยังไม่ได้เขียนไว้ในเอกสาร แต่เราพัฒนาขึ้นใช้ภายใน (คำสั่ง: ai-translator:translate-crowdin) [ฟีเจอร์ใหม่]
  • ตั้งค่าภาษาได้ทุกภาษาทั่วโลกที่ LLM รองรับ
    • เพิ่มฟีเจอร์ภาษาของตัวเองได้ เช่น ภาษาวัฒนธรรมเกาหลีเหนือ หรือศัพท์แบบ Reddit มีตัวอย่างอยู่ใน README.md
  • รองรับ Claude และ OpenAI (แต่แนะนำให้ใช้โมเดล Claude เพราะคุณภาพดีกว่า)
    • รองรับ Claude 3.7 Deep Thinking [ฟีเจอร์ใหม่]
  • รองรับการจัดการรูปพหูพจน์ (Plural) ของฟีเจอร์ localization ใน Laravel
  • ทำให้การแปลภาษาฉลาดขึ้น
    • แยกว่าเป็นประโยคหรือเป็นคำ แล้วแปลให้เหมาะสม
    • ดูจาก key แล้วแปลให้ตรงกับเจตนาของนักพัฒนาให้มากที่สุด (ดังนั้นควรตั้งชื่อ key ให้ชัดเจนมาก)
  • เพิ่มคอนเท็กซ์แยกตามแต่ละภาษาและแต่ละโปรเจกต์ เพื่อให้แปลโปรเจกต์ได้เป็นธรรมชาติยิ่งขึ้น (หัวใจสำคัญ)
    • แทนที่จะสั่งแปลตรง ๆ การอธิบายให้ AI เข้าใจชัดเจนว่าคำบางคำในโปรเจกต์นี้หมายถึงอะไร เป็นสิ่งสำคัญมากต่อการยกระดับคุณภาพ
    • ตัวอย่างเช่น เมื่อใช้คำว่า 'Champion' ในภาษาอังกฤษ ถ้าแปลเป็นเกาหลีควรแปลเป็น 'Champion' แต่ถ้าแปลเป็นภาษาจีนควรแปลเป็น 英雄 (ฮีโร่) การบอกข้อมูลแบบนี้จะทำให้แปลได้เป็นธรรมชาติมากขึ้น

หากคุณกำลังศึกษาเรื่องการเขียน Prompt ลองแวะไปดูโฟลเดอร์นี้ เพื่อดูพรอมป์ที่ผมสร้างไว้ และถ้ามีไอเดียที่อยากเพิ่มเติม ก็ขอเชิญส่ง Pull Request มาได้เลยครับ

5 ความคิดเห็น

 
corean 2025-03-31

เอกสารทางการของ Laravel ก็ทำได้ด้วยหรือเปล่าครับ?

 
t7vonn 2025-03-26

ขอบคุณสำหรับการแนะนำโปรเจกต์ดี ๆ ครับ
ถ้ามีการ提供 docker image ให้ด้วย น่าจะช่วยให้ใช้งานได้สะดวกยิ่งขึ้นครับ

 
kimjj81 2025-03-25

ถ้าใช้ LLM API ค่าใช้จ่ายอาจค่อนข้างสูง ดังนั้นถ้ามีฟังก์ชันคาดการณ์ค่าใช้จ่ายสำหรับค่าที่ป้อนเข้ามาด้วยก็น่าจะดีครับ

 
ethan9128 2025-03-25

น่าสนใจดีที่มีบันเดิล north korean มาให้ด้วย ในฐานะผู้ใช้ OPGG ก็ขอเป็นกำลังใจให้ครับ

 
windbug99 2025-03-24

ดูเหมือนว่าคุณจะพยายามอย่างมากในการรองรับหลายภาษามาตั้งแต่ช่วงแรก ๆ ขอเป็นกำลังใจให้ครับ