llmtranslate — это библиотека Python, предназначенная для определения языка данного текста и перевода текста между несколькими языками с использованием OpenAI GPT-4o. Библиотека особенно полезна для перевода текста, содержащего несколько языков, на один целевой язык.
Полная документация, включая подробную информацию об использовании, доступна по адресу https://llm-translate.com.
Чтобы использовать эту библиотеку, у вас должен быть ключ API OpenAI. Этот ключ позволяет библиотеке использовать GPT-4o OpenAI для перевода и определения языка.
Вы можете установить библиотеку llmtranslate из PyPI:
pip install llmtranslate
Прежде чем использовать llmtranslate с OpenAI, вам необходимо установить ключ API OpenAI. Вы можете сделать это, создав экземпляр класса 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'
Важный
Если переводчик не обнаруживает ни одного языка, он вернет None.
Прежде чем использовать результаты обнаружения переводчика, вы должны проверить, вернул ли он правильный результат или нет.
Чтобы перевести текст, содержащий несколько языков, на другой язык, вам необходимо предоставить код языка 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()
как показано в примерах выше.
Если вы используете службы Azure OpenAI, вам необходимо установить ключ API Azure OpenAI вместе с дополнительными обязательными параметрами. Используйте для этого класс 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 |
---|---|---|---|
Английский | ru | Да | Да |
Мандаринский китайский | жж | Да | Да |
хинди | привет | Да | Да |
испанский | эс | Да | Да |
Французский | пт | Да | Да |
немецкий | де | Да | Да |
Русский | ру | Да | Да |
арабский | ар | Да | Да |
итальянский | это | Да | Да |
корейский | ко | Да | Да |
панджаби | год | Да | Да |
Бенгальский | млрд | Да | Да |
португальский | пт | Да | Да |
индонезийский | идентификатор | Да | Да |
урду | ты | Да | Да |
персидский (фарси) | фа | Да | Да |
вьетнамский | ви | Да | Да |
Польский | пожалуйста | Да | Да |
Самоанец | см | Да | Да |
тайский | й | Да | Да |
Украинский | Великобритания | Да | Да |
турецкий | тр | Да | Да |
маори | ми | Нет | Нет |
норвежский | нет | Да | Да |
Голландский | Нидерланды | Да | Да |
Греческий | эль | Да | Да |
румынский | ро | Да | Да |
суахили | SW | Да | Да |
венгерский | ху | Да | Да |
иврит | он | Да | Да |
Шведский | св | Да | Да |
чешский | CS | Да | Да |
финский | фи | Да | Да |
амхарский | являюсь | Нет | Нет |
Тагальский | ТЛ | Да | Да |
бирманский | мой | Да | Да |
тамильский | та | Да | Да |
Каннада | знать | Да | Да |
пушту | пс | Да | Да |
Йоруба | йоу | Да | Да |
малайский | РС | Да | Да |
гаитянский креольский | хт | Да | Да |
непальский | пе | Да | Да |
сингальский | си | Да | Да |
каталанский | Калифорния | Да | Да |
малагасийский | мг | Да | Да |
латышский | лв | Да | Да |
литовский | лт | Да | Да |
эстонский | и др. | Да | Да |
Сомали | так | Да | Да |
Тигринья | ти | Нет | Нет |
Бретонский | бр | Нет | Нет |
Фиджийский | фджей | Да | Нет |
мальтийский | тонна | Да | Да |
корсиканец | со | Да | Да |
Люксембургский | фунт | Да | Да |
окситанский | ок | Да | Да |
валлийский | сай | Да | Да |
албанский | кв. | Да | Да |
македонский | мк | Да | Да |
исландский | является | Да | Да |
словенский | сл | Да | Да |
галисийский | гл | Да | Да |
Баскский | Евросоюз | Да | Да |
азербайджанский | аз | Да | Да |
Узбекский | уз | Да | Да |
казахский | ок | Да | Да |
Монгольский | минута | Да | Да |
тибетский | бо | Нет | Нет |
кхмерский | км | Да | Нет |
Лаосский | вот | Да | Да |
телугу | тэ | Да | Да |
маратхи | Мистер | Да | Да |
Чичева | Нью-Йорк | Да | Да |
эсперанто | эо | Да | Да |
курдский | ку | Нет | Нет |
таджикский | тг | Да | Да |
коса | хх | Да | Нет |
идиш | йи | Да | Да |
Зулу | цу | Да | Да |
суданский | Су | Да | Да |
татарский | тт | Да | Да |
кечуа | Цюй | Нет | Нет |
уйгурский | тьфу | Нет | Нет |
Волоф | горе | Нет | Нет |
Тсвана | ТН | Да | Да |
llmtranslate лицензируется по лицензии MIT. Дополнительные сведения см. в файле ЛИЦЕНЗИИ.