llmtranslate هي مكتبة Python مصممة لتحديد لغة نص معين وترجمة النص بين لغات متعددة باستخدام OpenAI's GPT-4o. تعتبر المكتبة مفيدة بشكل خاص لترجمة النص الذي يحتوي على لغات متعددة إلى لغة مستهدفة واحدة.
تتوفر الوثائق الشاملة، بما في ذلك معلومات الاستخدام التفصيلية، على 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" )
يتيح استخدام الأساليب غير المتزامنة لتطبيقك التعامل مع مهام متعددة بشكل متزامن، مما يؤدي إلى تحسين الكفاءة، خاصة عند التعامل مع كميات كبيرة من النص أو إجراء ترجمات متعددة في وقت واحد. يعد هذا السلوك غير المحظور مثاليًا لخدمات الويب وواجهات برمجة التطبيقات وأي سيناريو يتطلب استجابة عالية.
تذكر أنه يجب استدعاء الأساليب غير المتزامنة داخل وظيفة async
. لتنفيذها، يمكنك استخدام asyncio.run()
كما هو موضح في الأمثلة أعلاه.
إذا كنت تستخدم خدمات Azure OpenAI، فستحتاج إلى تعيين مفتاح 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 |
---|---|---|---|
إنجليزي | أون | نعم | نعم |
لغة الماندرين الصينية | ز | نعم | نعم |
الهندية | أهلاً | نعم | نعم |
الأسبانية | وفاق | نعم | نعم |
فرنسي | الاب | نعم | نعم |
الألمانية | دي | نعم | نعم |
الروسية | رو | نعم | نعم |
عربي | ع | نعم | نعم |
ايطالي | هو - هي | نعم | نعم |
كوري | كو | نعم | نعم |
البنجابية | سنويا | نعم | نعم |
البنغالية | مليار | نعم | نعم |
البرتغالية | نقطة | نعم | نعم |
الاندونيسية | بطاقة تعريف | نعم | نعم |
الأردية | أور | نعم | نعم |
الفارسية (الفارسية) | اتحاد كرة القدم | نعم | نعم |
الفيتنامية | سادسا | نعم | نعم |
بولندي | رر | نعم | نعم |
ساموا | سم | نعم | نعم |
التايلاندية | ذ | نعم | نعم |
الأوكرانية | المملكة المتحدة | نعم | نعم |
تركي | آر | نعم | نعم |
الماوري | mi | لا | لا |
النرويجية | لا | نعم | نعم |
هولندي | nl | نعم | نعم |
اليونانية | ش | نعم | نعم |
روماني | ريال عماني | نعم | نعم |
السواحلية | جنوب غرب | نعم | نعم |
المجرية | هو | نعم | نعم |
العبرية | هو | نعم | نعم |
السويدية | القديس | نعم | نعم |
التشيكية | خدمات العملاء | نعم | نعم |
الفنلندية | فاي | نعم | نعم |
الأمهرية | أكون | لا | لا |
التاغالوغية | ليرة تركية | نعم | نعم |
البورمية | لي | نعم | نعم |
التاميل | تا | نعم | نعم |
الكانادا | كن | نعم | نعم |
الباشتو | ملاحظة: | نعم | نعم |
اليوروبا | يو | نعم | نعم |
لغة الملايو | آنسة | نعم | نعم |
الكريول الهايتية | ht | نعم | نعم |
النيبالية | شمال شرق | نعم | نعم |
السنهالية | سي | نعم | نعم |
الكاتالونية | كاليفورنيا | نعم | نعم |
مدغشقر | ملغ | نعم | نعم |
لاتفيا | المستوى | نعم | نعم |
الليتوانية | لتر | نعم | نعم |
الإستونية | وآخرون | نعم | نعم |
الصومالية | لذا | نعم | نعم |
التغرينية | ti | لا | لا |
بريتون | ر | لا | لا |
فيجي | fj | نعم | لا |
المالطية | جبل | نعم | نعم |
كورسيكية | شركة | نعم | نعم |
اللوكسمبرجية | رطل | نعم | نعم |
الأوكيتانية | اوك | نعم | نعم |
الويلزية | قبرصي | نعم | نعم |
الألبانية | مربع | نعم | نعم |
المقدونية | عضو الكنيست | نعم | نعم |
الأيسلندية | يكون | نعم | نعم |
السلوفينية | sl | نعم | نعم |
الجاليكية | gl | نعم | نعم |
الباسك | الاتحاد الأوروبي | نعم | نعم |
أذربيجاني | من الألف إلى الياء | نعم | نعم |
الأوزبكية | uz | نعم | نعم |
الكازاخستانية | ك | نعم | نعم |
المنغولية | مليون | نعم | نعم |
التبتية | بو | لا | لا |
الخمير | كم | نعم | لا |
لاو | لو | نعم | نعم |
التيلجو | te | نعم | نعم |
المهاراتية | السيد | نعم | نعم |
تشيتشيوا | نيويورك | نعم | نعم |
الاسبرانتو | eo | نعم | نعم |
كردي | كو | لا | لا |
الطاجيكية | tg | نعم | نعم |
خوسا | xh | نعم | لا |
اليديشية | يي | نعم | نعم |
الزولو | زو | نعم | نعم |
السودانية | su | نعم | نعم |
التتار | تي تي | نعم | نعم |
الكيشوا | تشو | لا | لا |
الأويغور | ug | لا | لا |
الولوف | وو | لا | لا |
تسوانا | تينيسي | نعم | نعم |
llmtranslate مرخصة بموجب ترخيص MIT. راجع ملف الترخيص لمزيد من التفاصيل.