llmtranslate est une bibliothèque Python conçue pour identifier la langue d'un texte donné et traduire du texte entre plusieurs langues à l'aide du GPT-4o d'OpenAI. La bibliothèque est particulièrement utile pour traduire du texte contenant plusieurs langues vers une seule langue cible.
Une documentation complète, y compris des informations d'utilisation détaillées, est disponible sur https://llm-translate.com
Pour utiliser cette bibliothèque, vous devez disposer d'une clé API OpenAI. Cette clé permet à la bibliothèque d'utiliser le GPT-4o d'OpenAI pour la traduction et la détection de la langue.
Vous pouvez installer la bibliothèque llmtranslate depuis PyPI :
pip install llmtranslate
Avant d'utiliser llmtranslate avec OpenAI, vous devez définir votre clé API OpenAI. Vous pouvez le faire en créant une instance de la classe TranslatorOpenAI.
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
Pour détecter la langue d'un texte donné :
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'
Important
Si le traducteur ne détecte aucune langue, il renverra Aucune.
Avant d'utiliser les résultats de la détection du traducteur, vous devez vérifier si le résultat est correct ou Aucun.
Pour traduire un texte contenant plusieurs langues vers une autre langue, vous devez fournir le code de langue ISO 639 pour la langue cible. Pour une liste de tous les codes de langue ISO 639, vous pouvez vous référer à ce site Web de liste de codes 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"
Voici un exemple complet montrant comment utiliser la bibliothèque :
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 bibliothèque llmtranslate donne accès à divers modèles OpenAI pour la traduction. Vous trouverez ci-dessous les modèles pris en charge et leurs cas d'utilisation :
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 bibliothèque llmtranslate
fournit des méthodes asynchrones pour vous permettre d'effectuer efficacement des tâches de détection de langue et de traduction dans un environnement asynchrone. Si votre application utilise asyncio
ou un autre framework asynchrone, vous pouvez profiter pleinement de ces méthodes asynchrones pour éviter de bloquer votre programme en attendant la fin des tâches de détection de langue ou de traduction.
L'exemple suivant montre comment utiliser les méthodes async_get_text_language
et 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)
: Cette méthode détecte la langue du texte fourni de manière asynchrone.
text
: Le texte d’entrée dont la langue doit être détectée.TextLanguage
contenant les codes ISO 639-1, ISO 639-2, ISO 639-3 de la langue détectée et le nom de la langue.Exemple :
detected_language = await translator . async_get_text_language ( "Hallo, wie geht's?" )
async_translate_text(text: str, to_language: str)
: Cette méthode traduit le texte saisi de manière asynchrone dans la langue cible spécifiée.
text
: Le texte d’entrée à traduire.to_language
: La langue cible dans le code ISO 639-1.Exemple :
translated_text = await translator . async_translate ( "Bonjour tout le monde" , "en" )
L'utilisation de méthodes asynchrones permet à votre application de gérer plusieurs tâches simultanément, améliorant ainsi l'efficacité, en particulier lorsque vous traitez de grandes quantités de texte ou effectuez plusieurs traductions simultanément. Ce comportement non bloquant est idéal pour les services Web, les API et tout scénario nécessitant une grande réactivité.
N'oubliez pas que les méthodes asynchrones doivent être appelées au sein d'une fonction async
. Pour les exécuter, vous pouvez utiliser asyncio.run()
comme indiqué dans les exemples ci-dessus.
Si vous utilisez les services OpenAI d'Azure, vous devez définir votre clé API Azure OpenAI ainsi que les paramètres requis supplémentaires. Utilisez la classe TranslatorAzureOpenAI pour cela.
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 prend en charge toutes les langues prises en charge par GPT-4o. Pour une liste complète des codes de langue, vous pouvez visiter le site Web ISO 639-1.
Voici un tableau montrant quelles langues sont prises en charge par gpt-4o et gpt4o-mini :
Nom de la langue | Code de langue | Pris en charge par gpt-4o | Pris en charge par gpt4o-mini |
---|---|---|---|
Anglais | fr | Oui | Oui |
Chinois mandarin | zh | Oui | Oui |
hindi | Salut | Oui | Oui |
Espagnol | es | Oui | Oui |
Français | fr | Oui | Oui |
Allemand | de | Oui | Oui |
russe | ru | Oui | Oui |
arabe | ar | Oui | Oui |
italien | il | Oui | Oui |
coréen | ko | Oui | Oui |
Pendjabi | Pennsylvanie | Oui | Oui |
bengali | milliard | Oui | Oui |
portugais | pt | Oui | Oui |
indonésien | identifiant | Oui | Oui |
Ourdou | ton | Oui | Oui |
persan (farsi) | fa | Oui | Oui |
vietnamien | vi | Oui | Oui |
polonais | svp | Oui | Oui |
Samoan | petit mot | Oui | Oui |
thaïlandais | ème | Oui | Oui |
ukrainien | Royaume-Uni | Oui | Oui |
turc | tr | Oui | Oui |
Maori | mi | Non | Non |
norvégien | Non | Oui | Oui |
Néerlandais | nl | Oui | Oui |
grec | el | Oui | Oui |
roumain | ro | Oui | Oui |
Swahili | sw | Oui | Oui |
hongrois | hein | Oui | Oui |
hébreu | il | Oui | Oui |
suédois | sv | Oui | Oui |
tchèque | cs | Oui | Oui |
finlandais | fi | Oui | Oui |
Amharique | suis | Non | Non |
Tagalog | télé | Oui | Oui |
birman | mon | Oui | Oui |
Tamoul | ta | Oui | Oui |
Kannada | je sais | Oui | Oui |
pachtou | ps | Oui | Oui |
Yorouba | ouais | Oui | Oui |
malais | MS | Oui | Oui |
Créole haïtien | ht | Oui | Oui |
Népalais | ne | Oui | Oui |
Cinghalais | si | Oui | Oui |
catalan | Californie | Oui | Oui |
malgache | mg | Oui | Oui |
letton | lv | Oui | Oui |
lituanien | lt | Oui | Oui |
estonien | et | Oui | Oui |
somali | donc | Oui | Oui |
Tigrinya | ti | Non | Non |
Breton | br | Non | Non |
Fidjien | fj | Oui | Non |
maltais | mont | Oui | Oui |
Corse | co | Oui | Oui |
luxembourgeois | kg | Oui | Oui |
Occitan | ok | Oui | Oui |
gallois | cy | Oui | Oui |
albanais | carré | Oui | Oui |
Macédonien | mk | Oui | Oui |
islandais | est | Oui | Oui |
slovène | sl | Oui | Oui |
Galicien | gl | Oui | Oui |
Basque | UE | Oui | Oui |
azerbaïdjanais | az | Oui | Oui |
Ouzbek | ouz | Oui | Oui |
Kazakh | kk | Oui | Oui |
mongol | minute | Oui | Oui |
Tibétain | bo | Non | Non |
Khmer | kilomètres | Oui | Non |
Laotien | voilà | Oui | Oui |
Télougou | te | Oui | Oui |
Marathi | M. | Oui | Oui |
Chichewa | New York | Oui | Oui |
espéranto | eo | Oui | Oui |
kurde | ku | Non | Non |
Tadjik | tg | Oui | Oui |
Xhosa | xh | Oui | Non |
yiddish | ouais | Oui | Oui |
zoulou | zu | Oui | Oui |
Soundanais | su | Oui | Oui |
tatar | tt | Oui | Oui |
Quechua | qu | Non | Non |
Ouïghour | pouah | Non | Non |
wolof | hélas | Non | Non |
Tswana | tn | Oui | Oui |
llmtranslate est sous licence MIT. Voir le fichier LICENSE pour plus de détails.