llmtranslate es una biblioteca de Python diseñada para identificar el idioma de un texto determinado y traducir texto entre varios idiomas utilizando GPT-4o de OpenAI. La biblioteca es especialmente útil para traducir texto que contiene varios idiomas a un único idioma de destino.
La documentación completa, incluida información de uso detallada, está disponible en https://llm-translate.com
Para utilizar esta biblioteca, debe tener una clave API de OpenAI. Esta clave permite a la biblioteca utilizar GPT-4o de OpenAI para traducción y detección de idioma.
Puede instalar la biblioteca llmtranslate desde PyPI:
pip install llmtranslate
Antes de usar llmtranslate con OpenAI, debe configurar su clave API de OpenAI. Puede hacer esto creando una instancia de la clase TranslatorOpenAI.
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
Para detectar el idioma de un texto determinado:
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'
Importante
Si el traductor no detecta ningún idioma, devolverá Ninguno.
Antes de usar los resultados de la detección del traductor, debe verificar si arrojó un resultado correcto o Ninguno.
Para traducir texto que contiene varios idiomas a otro idioma, debe proporcionar el código de idioma ISO 639 para el idioma de destino. Para obtener una lista de todos los códigos de idioma ISO 639, puede consultar este sitio web de lista de códigos 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"
Aquí hay un ejemplo completo que demuestra cómo usar la biblioteca:
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"
La biblioteca llmtranslate brinda acceso a varios modelos OpenAI para traducción. A continuación se muestran los modelos compatibles y sus casos de uso:
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" )
La biblioteca llmtranslate
proporciona métodos asincrónicos que le permiten realizar tareas de traducción y detección de idioma de manera eficiente en un entorno asincrónico. Si su aplicación utiliza asyncio
u otro marco asincrónico, puede aprovechar al máximo estos métodos asincrónicos para evitar bloquear su programa mientras espera que se completen las tareas de detección de idioma o traducción.
El siguiente ejemplo demuestra cómo utilizar los métodos async_get_text_language
y 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)
: este método detecta el idioma del texto proporcionado de forma asincrónica.
text
: El texto de entrada cuyo idioma debe detectarse.TextLanguage
que contiene los códigos ISO 639-1, ISO 639-2, ISO 639-3 del idioma detectado y el nombre del idioma.Ejemplo :
detected_language = await translator . async_get_text_language ( "Hallo, wie geht's?" )
async_translate_text(text: str, to_language: str)
: este método traduce el texto de entrada de forma asíncrona al idioma de destino especificado.
text
: El texto de entrada que se va a traducir.to_language
: el idioma de destino en el código ISO 639-1.Ejemplo :
translated_text = await translator . async_translate ( "Bonjour tout le monde" , "en" )
El uso de métodos asincrónicos permite que su aplicación maneje múltiples tareas simultáneamente, mejorando la eficiencia, especialmente cuando se trata de grandes cantidades de texto o se realizan múltiples traducciones simultáneamente. Este comportamiento sin bloqueo es ideal para servicios web, API y cualquier escenario que requiera una alta capacidad de respuesta.
Recuerde que los métodos asincrónicos deben llamarse dentro de una función async
. Para ejecutarlos, puede utilizar asyncio.run()
como se muestra en los ejemplos anteriores.
Si está utilizando los servicios OpenAI de Azure, debe configurar su clave API de Azure OpenAI junto con los parámetros adicionales requeridos. Utilice la clase TranslatorAzureOpenAI para esto.
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 admite todos los idiomas admitidos por GPT-4o. Para obtener una lista completa de códigos de idioma, puede visitar el sitio web ISO 639-1.
Aquí hay una tabla que muestra qué idiomas son compatibles con gpt-4o y gpt4o-mini:
Nombre del idioma | Código de idioma | Apoyado por gpt-4o | Compatible con gpt4o-mini |
---|---|---|---|
Inglés | es | Sí | Sí |
chino mandarín | zh | Sí | Sí |
hindi | Hola | Sí | Sí |
Español | es | Sí | Sí |
Francés | fr | Sí | Sí |
Alemán | Delaware | Sí | Sí |
ruso | ru | Sí | Sí |
árabe | Arkansas | Sí | Sí |
italiano | él | Sí | Sí |
coreano | ko | Sí | Sí |
punjabi | Pensilvania | Sí | Sí |
bengalí | mn | Sí | Sí |
portugués | pt | Sí | Sí |
indonesio | identificación | Sí | Sí |
urdu | tu | Sí | Sí |
Persa (farsi) | fa | Sí | Sí |
vietnamita | vi | Sí | Sí |
Polaco | sustantivo, masculino, plural— | Sí | Sí |
samoano | sm | Sí | Sí |
tailandés | th | Sí | Sí |
ucranio | reino unido | Sí | Sí |
turco | tr | Sí | Sí |
maorí | mi | No | No |
noruego | No | Sí | Sí |
Holandés | nl | Sí | Sí |
Griego | el | Sí | Sí |
rumano | ro | Sí | Sí |
swahili | sudoeste | Sí | Sí |
húngaro | eh | Sí | Sí |
hebreo | él | Sí | Sí |
sueco | sv | Sí | Sí |
checo | cs | Sí | Sí |
finlandés | fi | Sí | Sí |
amárico | soy | No | No |
tagalo | tl | Sí | Sí |
birmano | mi | Sí | Sí |
Tamil | ejército de reserva | Sí | Sí |
canarés | kn | Sí | Sí |
pastún | PD | Sí | Sí |
Yoruba | yo | Sí | Sí |
malayo | EM | Sí | Sí |
criollo haitiano | ht | Sí | Sí |
nepalí | nordeste | Sí | Sí |
cingalés | si | Sí | Sí |
catalán | California | Sí | Sí |
madagascarí | mg | Sí | Sí |
letón | lv | Sí | Sí |
lituano | es | Sí | Sí |
estonio | y | Sí | Sí |
somalí | entonces | Sí | Sí |
Tigrinya | ti | No | No |
bretón | hermano | No | No |
fiyiano | fj | Sí | No |
maltés | monte | Sí | Sí |
corso | co | Sí | Sí |
luxemburgués | libra | Sí | Sí |
occitano | jefe | Sí | Sí |
galés | cy | Sí | Sí |
albanés | cuadrado | Sí | Sí |
macedónio | mk | Sí | Sí |
islandés | es | Sí | Sí |
esloveno | SL | Sí | Sí |
gallego | gl | Sí | Sí |
vasco | UE | Sí | Sí |
azerbaiyano | Arizona | Sí | Sí |
uzbeko | uz | Sí | Sí |
kazajo | kk | Sí | Sí |
mongol | Minnesota | Sí | Sí |
tibetano | bo | No | No |
jemer | kilómetros | Sí | No |
laosiano | mira | Sí | Sí |
telugu | te | Sí | Sí |
marathi | señor | Sí | Sí |
chichewa | Nueva York | Sí | Sí |
esperanto | eo | Sí | Sí |
kurdo | ku | No | No |
tayiko | tg | Sí | Sí |
xhosa | xh | Sí | No |
yídish | yi | Sí | Sí |
zulú | zu | Sí | Sí |
sundanés | su | Sí | Sí |
tártaro | tt | Sí | Sí |
quechua | que | No | No |
uigur | ug | No | No |
wólof | wo | No | No |
tswana | Tennesse | Sí | Sí |
llmtranslate tiene la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.