llmtranslate เป็นไลบรารี Python ที่ออกแบบมาเพื่อระบุภาษาของข้อความที่กำหนดและแปลข้อความระหว่างหลายภาษาโดยใช้ GPT-4o ของ OpenAI ไลบรารีนี้มีประโยชน์อย่างยิ่งสำหรับการแปลข้อความที่มีหลายภาษาให้เป็นภาษาเป้าหมายเดียว
เอกสารประกอบที่ครอบคลุม รวมถึงข้อมูลการใช้งานโดยละเอียด มีอยู่ที่ https://llm-translate.com
หากต้องการใช้ไลบรารีนี้ คุณต้องมีคีย์ OpenAI API คีย์นี้ช่วยให้ไลบรารีใช้ GPT-4o ของ OpenAI สำหรับการแปลและการตรวจจับภาษา
คุณสามารถติดตั้งไลบรารี llmtranslate ได้จาก PyPI:
pip install llmtranslate
ก่อนที่จะใช้ llmtranslate กับ OpenAI คุณต้องตั้งค่าคีย์ OpenAI API ของคุณ คุณสามารถทำได้โดยการสร้างอินสแตนซ์ของคลาส TranslatorOpenAI
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
หากต้องการตรวจสอบภาษาของข้อความที่กำหนด:
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
# Detect language
detected_language = translator . get_text_language ( "Hello world" )
if detected_language is not None :
print ( detected_language . ISO_639_1_code ) # Output: 'en'
print ( detected_language . ISO_639_2_code ) # Output: 'eng'
print ( detected_language . ISO_639_3_code ) # Output: 'eng'
print ( detected_language . language_name ) # Output: 'English'
สำคัญ
หากนักแปลตรวจไม่พบภาษาใดๆ ระบบจะส่งคืน "ไม่มี"
ก่อนที่จะใช้ผลลัพธ์ของการตรวจจับนักแปล คุณควรตรวจสอบว่าได้ผลลัพธ์ที่ถูกต้องหรือไม่
หากต้องการแปลข้อความที่มีหลายภาษาเป็นภาษาอื่น คุณต้องระบุรหัสภาษา ISO 639 สำหรับภาษาเป้าหมาย หากต้องการดูรายการรหัสภาษา ISO 639 ทั้งหมด โปรดดูที่เว็บไซต์รายการรหัส ISO 639-1 นี้
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
# Translate text
translated_text = translator . translate (
text = "Cześć jak się masz? Meu nome é Adam" ,
to_language = "en" # Use ISO 639-1 code for the target language
)
print ( translated_text ) # Output: "Hello how are you? My name is Adam"
นี่คือตัวอย่างที่สมบูรณ์ซึ่งสาธิตวิธีการใช้ห้องสมุด:
from llmtranslate import TranslatorOpenAI
# Initialize the translator with your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
# Detect language
detected_language = translator . get_text_language ( "jak ty się nazywasz" )
if detected_language is not None :
print ( detected_language . ISO_639_1_code ) # Output: 'pl'
print ( detected_language . ISO_639_2_code ) # Output: 'pol'
print ( detected_language . ISO_639_3_code ) # Output: 'pol'
print ( detected_language . language_name ) # Output 'Polish'
# Translate text
translated_text = translator . translate (
text = "Cześć jak się masz? Meu nome é Adam" ,
to_language = "en"
)
print ( translated_text ) # Output: "Hello how are you? My name is Adam"
ไลบรารี llmtranslate ให้การเข้าถึงโมเดล OpenAI ต่างๆ สำหรับการแปล ด้านล่างนี้คือรุ่นที่รองรับและกรณีการใช้งาน:
from llmtranslate import TranslatorOpenAI
# Recommended for precise translation, high-precision model
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o" )
# A budget-friendly option, balancing cost and quality
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
ไลบรารี llmtranslate
มีวิธีการแบบอะซิงโครนัสเพื่อให้คุณสามารถดำเนินการตรวจสอบภาษาและงานการแปลได้อย่างมีประสิทธิภาพในสภาพแวดล้อมแบบอะซิงโครนัส หากแอปพลิเคชันของคุณใช้ asyncio
หรือเฟรมเวิร์กอะซิงโครนัสอื่น คุณสามารถใช้ประโยชน์จากเมธอดอะซิงโครนัสเหล่านี้ได้อย่างเต็มที่เพื่อหลีกเลี่ยงการบล็อกโปรแกรมของคุณในขณะที่รอให้งานการตรวจจับภาษาหรือการแปลเสร็จสมบูรณ์
ตัวอย่างต่อไปนี้สาธิตวิธีการใช้เมธอด async_get_text_language
และ async_translate_text
:
import asyncio
from llmtranslate import TranslatorOpenAI
# Initialize the translator with your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
# Async function to detect language and translate text
async def detect_and_translate ():
# Detect language asynchronously
detected_language = await translator . async_get_text_language ( "Hola, ¿cómo estás?" )
if detected_language is not None :
print ( detected_language . ISO_639_1_code ) # Output: 'es'
print ( detected_language . language_name ) # Output: 'Spanish'
# Translate text asynchronously
translated_text = await translator . async_translate (
text = "Cześć jak się masz? Meu nome é Adam" ,
to_language = "en" # Use ISO 639-1 code for the target language
)
print ( translated_text ) # Output: "Hello how are you? My name is Adam"
# Run the async function
asyncio . run ( detect_and_translate ())
async_get_text_language(text: str)
: วิธีการนี้จะตรวจจับภาษาของข้อความที่ให้มาแบบอะซิงโครนัส
text
: ข้อความอินพุตที่ต้องตรวจพบภาษาTextLanguage
ที่มีรหัส ISO 639-1, ISO 639-2, ISO 639-3 ของภาษาที่ตรวจพบ และชื่อภาษาตัวอย่าง :
detected_language = await translator . async_get_text_language ( "Hallo, wie geht's?" )
async_translate_text(text: str, to_language: str)
: วิธีการนี้จะแปลข้อความที่ป้อนแบบอะซิงโครนัสเป็นภาษาเป้าหมายที่ระบุ
text
: ข้อความอินพุตที่จะแปลto_language
: ภาษาเป้าหมายในรหัส ISO 639-1ตัวอย่าง :
translated_text = await translator . async_translate ( "Bonjour tout le monde" , "en" )
การใช้วิธีการอะซิงโครนัสทำให้แอปพลิเคชันของคุณจัดการงานหลายอย่างพร้อมกันได้ ซึ่งช่วยเพิ่มประสิทธิภาพ โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับข้อความจำนวนมากหรือทำการแปลหลายรายการพร้อมกัน พฤติกรรมที่ไม่มีการบล็อกนี้เหมาะสำหรับบริการบนเว็บ, API และสถานการณ์ใดๆ ที่ต้องการการตอบสนองสูง
โปรดจำไว้ว่าจะต้องเรียกใช้วิธีการอะซิงโครนัสภายในฟังก์ชัน async
หากต้องการดำเนินการ คุณสามารถใช้ asyncio.run()
ดังที่แสดงในตัวอย่างด้านบน
หากคุณกำลังใช้บริการ OpenAI ของ Azure คุณจะต้องตั้งค่าคีย์ Azure OpenAI API ของคุณพร้อมกับพารามิเตอร์ที่จำเป็นเพิ่มเติม ใช้คลาส TranslatorAzureOpenAI สำหรับสิ่งนี้
from llmtranslate import TranslatorAzureOpenAI
# Set your Azure OpenAI API key and related parameters
translator = TranslatorAzureOpenAI (
azure_endpoint = "YOUR_AZURE_ENDPOINT" ,
api_key = "YOUR_AZURE_API_KEY" ,
api_version = "YOUR_API_VERSION" ,
azure_deployment = "YOUR_AZURE_DEPLOYMENT"
)
llmtranslate รองรับทุกภาษาที่ GPT-4o รองรับ หากต้องการดูรายการรหัสภาษาทั้งหมด โปรดไปที่เว็บไซต์ ISO 639-1
นี่คือตารางที่แสดงภาษาที่ gpt-4o และ gpt4o-mini รองรับ:
ชื่อภาษา | รหัสภาษา | รองรับโดย gpt-4o | รองรับโดย gpt4o-mini |
---|---|---|---|
ภาษาอังกฤษ | ห้องน้ำในตัว | ใช่ | ใช่ |
ภาษาจีนกลาง | จ | ใช่ | ใช่ |
ฮินดี | สวัสดี | ใช่ | ใช่ |
สเปน | เช่น | ใช่ | ใช่ |
ภาษาฝรั่งเศส | ศ | ใช่ | ใช่ |
เยอรมัน | เดอ | ใช่ | ใช่ |
ภาษารัสเซีย | รุ | ใช่ | ใช่ |
ภาษาอาหรับ | อาร์ | ใช่ | ใช่ |
ภาษาอิตาลี | มัน | ใช่ | ใช่ |
เกาหลี | เกาะ | ใช่ | ใช่ |
ปัญจาบ | ต่อปี | ใช่ | ใช่ |
เบงกาลี | พันล้าน | ใช่ | ใช่ |
โปรตุเกส | จุด | ใช่ | ใช่ |
ชาวอินโดนีเซีย | รหัส | ใช่ | ใช่ |
ภาษาอูรดู | คุณ | ใช่ | ใช่ |
เปอร์เซีย (ฟาร์ซี) | ฟ้า | ใช่ | ใช่ |
ภาษาเวียดนาม | วิ | ใช่ | ใช่ |
ขัด | กรุณา | ใช่ | ใช่ |
ซามัว | เอสเอ็ม | ใช่ | ใช่ |
แบบไทย | ไทย | ใช่ | ใช่ |
ภาษายูเครน | สหราชอาณาจักร | ใช่ | ใช่ |
ภาษาตุรกี | ตร | ใช่ | ใช่ |
ชาวเมารี | ไมล์ | เลขที่ | เลขที่ |
ภาษานอร์เวย์ | เลขที่ | ใช่ | ใช่ |
ภาษาดัตช์ | ไม่มี | ใช่ | ใช่ |
กรีก | เอล | ใช่ | ใช่ |
โรมาเนีย | โร | ใช่ | ใช่ |
สวาฮีลี | สว | ใช่ | ใช่ |
ภาษาฮังการี | ฮะ | ใช่ | ใช่ |
ภาษาฮีบรู | เขา | ใช่ | ใช่ |
ภาษาสวีเดน | สว | ใช่ | ใช่ |
เช็ก | ซีเอส | ใช่ | ใช่ |
ภาษาฟินแลนด์ | ฟิ | ใช่ | ใช่ |
อัมฮาริก | เช้า | เลขที่ | เลขที่ |
ตากาล็อก | tl | ใช่ | ใช่ |
พม่า | ของฉัน | ใช่ | ใช่ |
ทมิฬ | ตา | ใช่ | ใช่ |
กันนาดา | KN | ใช่ | ใช่ |
ปาสโต้ | ปล | ใช่ | ใช่ |
โยรูบา | โย่ | ใช่ | ใช่ |
มาเลย์ | นางสาว | ใช่ | ใช่ |
ชาวเฮติครีโอล | ht | ใช่ | ใช่ |
เนปาล | ne | ใช่ | ใช่ |
สิงหล | ศรี | ใช่ | ใช่ |
คาตาลัน | แคลิฟอร์เนีย | ใช่ | ใช่ |
มาลากาซี | มก | ใช่ | ใช่ |
ลัตเวีย | เลเวล | ใช่ | ใช่ |
ลิทัวเนีย | lt | ใช่ | ใช่ |
เอสโตเนีย | et | ใช่ | ใช่ |
โซมาเลีย | ดังนั้น | ใช่ | ใช่ |
ทิกริญญา | ที | เลขที่ | เลขที่ |
เบรอตง | พี่ชาย | เลขที่ | เลขที่ |
ฟิจิ | เอฟเจ | ใช่ | เลขที่ |
ภาษามอลตา | ภูเขา | ใช่ | ใช่ |
คอร์ซิกา | ร่วม | ใช่ | ใช่ |
ภาษาลักเซมเบิร์ก | ปอนด์ | ใช่ | ใช่ |
อ็อกซิตัน | อค | ใช่ | ใช่ |
เวลส์ | ไซ | ใช่ | ใช่ |
แอลเบเนีย | ตร.ม | ใช่ | ใช่ |
มาซิโดเนีย | ม.ค | ใช่ | ใช่ |
ไอซ์แลนด์ | เป็น | ใช่ | ใช่ |
ภาษาสโลเวเนีย | สล | ใช่ | ใช่ |
กาลิเซีย | GL | ใช่ | ใช่ |
บาสก์ | สหภาพยุโรป | ใช่ | ใช่ |
อาเซอร์ไบจัน | อาซ | ใช่ | ใช่ |
อุซเบก | อุซ | ใช่ | ใช่ |
คาซัค | โอเค | ใช่ | ใช่ |
มองโกเลีย | นาที | ใช่ | ใช่ |
ทิเบต | โบ | เลขที่ | เลขที่ |
เขมร | กม | ใช่ | เลขที่ |
ลาว | แท้จริง | ใช่ | ใช่ |
เตลูกู | เต้ | ใช่ | ใช่ |
ภาษามราฐี | นาย | ใช่ | ใช่ |
ชิเชวา | นิวยอร์ก | ใช่ | ใช่ |
เอสเปรันโต | อีโอ | ใช่ | ใช่ |
เคิร์ด | คุ | เลขที่ | เลขที่ |
ทาจิก | ทีจี | ใช่ | ใช่ |
โคซา | xh | ใช่ | เลขที่ |
ภาษายิดดิช | ยี่ | ใช่ | ใช่ |
ซูลู | ซู | ใช่ | ใช่ |
ซุนดา | ซู | ใช่ | ใช่ |
ตาตาร์ | ทีที | ใช่ | ใช่ |
เคชัว | ควิ | เลขที่ | เลขที่ |
ชาวอุยกูร์ | ส.ค | เลขที่ | เลขที่ |
โวลอฟ | โว | เลขที่ | เลขที่ |
ทสวานา | tn | ใช่ | ใช่ |
llmtranslate ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียดเพิ่มเติม