llmtranslate ist eine Python-Bibliothek, die entwickelt wurde, um die Sprache eines bestimmten Textes zu identifizieren und Text mithilfe von OpenAIs GPT-4o zwischen mehreren Sprachen zu übersetzen. Die Bibliothek ist besonders nützlich für die Übersetzung von Texten, die mehrere Sprachen enthalten, in eine einzige Zielsprache.
Eine umfassende Dokumentation, einschließlich detaillierter Nutzungsinformationen, finden Sie unter https://llm-translate.com
Um diese Bibliothek nutzen zu können, benötigen Sie einen OpenAI-API-Schlüssel. Mit diesem Schlüssel kann die Bibliothek GPT-4o von OpenAI für die Übersetzung und Spracherkennung nutzen.
Sie können die llmtranslate-Bibliothek von PyPI installieren:
pip install llmtranslate
Bevor Sie llmtranslate mit OpenAI verwenden, müssen Sie Ihren OpenAI-API-Schlüssel festlegen. Sie können dies tun, indem Sie eine Instanz der TranslatorOpenAI-Klasse erstellen.
from llmtranslate import TranslatorOpenAI
# Set your OpenAI API key
translator = TranslatorOpenAI ( api_key = "YOUR_OPENAI_API_KEY" , model = "gpt-4o-mini" )
So erkennen Sie die Sprache eines bestimmten Textes:
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'
Wichtig
Wenn der Übersetzer keine Sprache erkennt, gibt er „None“ zurück.
Bevor Sie die Ergebnisse der Übersetzererkennung verwenden, sollten Sie prüfen, ob das Ergebnis korrekt oder „Keines“ zurückgegeben wurde
Um mehrsprachigen Text in eine andere Sprache zu übersetzen, müssen Sie den ISO 639-Sprachcode für die Zielsprache angeben. Eine Liste aller ISO 639-Sprachcodes finden Sie auf dieser Website mit der ISO 639-1-Codeliste.
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"
Hier ist ein vollständiges Beispiel, das die Verwendung der Bibliothek demonstriert:
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"
Die llmtranslate-Bibliothek bietet Zugriff auf verschiedene OpenAI-Modelle für die Übersetzung. Nachfolgend sind die unterstützten Modelle und ihre Anwendungsfälle aufgeführt:
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" )
Die llmtranslate
-Bibliothek bietet asynchrone Methoden, mit denen Sie Spracherkennungs- und Übersetzungsaufgaben effizient in einer asynchronen Umgebung durchführen können. Wenn Ihre Anwendung asyncio
oder ein anderes asynchrones Framework verwendet, können Sie diese asynchronen Methoden voll ausnutzen, um eine Blockierung Ihres Programms zu vermeiden, während Sie auf den Abschluss von Spracherkennungs- oder Übersetzungsaufgaben warten.
Das folgende Beispiel zeigt, wie die Methoden async_get_text_language
und async_translate_text
verwendet werden:
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)
: Diese Methode erkennt die Sprache des bereitgestellten Textes asynchron.
text
: Der Eingabetext, dessen Sprache erkannt werden muss.TextLanguage
Objekt, das die ISO 639-1-, ISO 639-2- und ISO 639-3-Codes der erkannten Sprache und den Sprachnamen enthält.Beispiel :
detected_language = await translator . async_get_text_language ( "Hallo, wie geht's?" )
async_translate_text(text: str, to_language: str)
: Diese Methode übersetzt den Eingabetext asynchron in die angegebene Zielsprache.
text
: Der zu übersetzende Eingabetext.to_language
: Die Zielsprache im ISO 639-1-Code.Beispiel :
translated_text = await translator . async_translate ( "Bonjour tout le monde" , "en" )
Durch die Verwendung asynchroner Methoden kann Ihre Anwendung mehrere Aufgaben gleichzeitig bearbeiten und so die Effizienz steigern, insbesondere bei der Verarbeitung großer Textmengen oder der gleichzeitigen Durchführung mehrerer Übersetzungen. Dieses nicht blockierende Verhalten ist ideal für Webdienste, APIs und alle Szenarien, die eine hohe Reaktionsfähigkeit erfordern.
Denken Sie daran, dass asynchrone Methoden innerhalb einer async
Funktion aufgerufen werden müssen. Um sie auszuführen, können Sie asyncio.run()
verwenden, wie in den Beispielen oben gezeigt.
Wenn Sie die OpenAI-Dienste von Azure verwenden, müssen Sie Ihren Azure OpenAI-API-Schlüssel zusammen mit zusätzlichen erforderlichen Parametern festlegen. Verwenden Sie hierfür die TranslatorAzureOpenAI-Klasse.
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 unterstützt alle von GPT-4o unterstützten Sprachen. Eine vollständige Liste der Sprachcodes finden Sie auf der Website von ISO 639-1.
Hier ist eine Tabelle, die zeigt, welche Sprachen von gpt-4o und gpt4o-mini unterstützt werden:
Sprachname | Sprachcode | Unterstützt von gpt-4o | Unterstützt von gpt4o-mini |
---|---|---|---|
Englisch | de | Ja | Ja |
Mandarin-Chinesisch | zh | Ja | Ja |
Hindi | Hi | Ja | Ja |
Spanisch | es | Ja | Ja |
Französisch | fr | Ja | Ja |
Deutsch | de | Ja | Ja |
Russisch | ru | Ja | Ja |
Arabisch | ar | Ja | Ja |
Italienisch | Es | Ja | Ja |
Koreanisch | ko | Ja | Ja |
Punjabi | pa | Ja | Ja |
Bengali | Mrd | Ja | Ja |
Portugiesisch | pt | Ja | Ja |
Indonesisch | Ausweis | Ja | Ja |
Urdu | ur | Ja | Ja |
Persisch (Farsi) | Fa | Ja | Ja |
Vietnamesisch | vi | Ja | Ja |
Polieren | pl | Ja | Ja |
Samoaner | sm | Ja | Ja |
Thailändisch | Th | Ja | Ja |
ukrainisch | Vereinigtes Königreich | Ja | Ja |
Türkisch | tr | Ja | Ja |
Maori | mi | NEIN | NEIN |
norwegisch | NEIN | Ja | Ja |
Niederländisch | nl | Ja | Ja |
griechisch | el | Ja | Ja |
rumänisch | ro | Ja | Ja |
Suaheli | sw | Ja | Ja |
ungarisch | Hu | Ja | Ja |
hebräisch | Er | Ja | Ja |
Schwedisch | sv | Ja | Ja |
tschechisch | cs | Ja | Ja |
finnisch | fi | Ja | Ja |
Amharisch | Bin | NEIN | NEIN |
Tagalog | tl | Ja | Ja |
birmanisch | Mein | Ja | Ja |
Tamilisch | ta | Ja | Ja |
Kannada | kn | Ja | Ja |
Paschtu | PS | Ja | Ja |
Yoruba | jo | Ja | Ja |
malaiisch | MS | Ja | Ja |
Haitianisches Kreol | ht | Ja | Ja |
Nepalesisch | ne | Ja | Ja |
Singhalesisch | si | Ja | Ja |
katalanisch | ca | Ja | Ja |
Madagassisch | mg | Ja | Ja |
lettisch | lv | Ja | Ja |
litauisch | lt | Ja | Ja |
estnisch | et | Ja | Ja |
somali | Also | Ja | Ja |
Tigrinya | ti | NEIN | NEIN |
Bretonisch | Br | NEIN | NEIN |
Fidschianisch | fj | Ja | NEIN |
maltesisch | mt | Ja | Ja |
Korsisch | co | Ja | Ja |
Luxemburgisch | Pfund | Ja | Ja |
Okzitanisch | ok | Ja | Ja |
Walisisch | cy | Ja | Ja |
albanisch | Quadrat | Ja | Ja |
mazedonisch | mk | Ja | Ja |
isländisch | Ist | Ja | Ja |
Slowenisch | sl | Ja | Ja |
galizisch | gl | Ja | Ja |
baskisch | eu | Ja | Ja |
Aserbaidschanisch | az | Ja | Ja |
Usbekisch | uz | Ja | Ja |
Kasachisch | kk | Ja | Ja |
mongolisch | mn | Ja | Ja |
Tibetisch | bo | NEIN | NEIN |
Khmer | km | Ja | NEIN |
Laotisch | siehe da | Ja | Ja |
Telugu | te | Ja | Ja |
Marathi | Herr | Ja | Ja |
Chichewa | ny | Ja | Ja |
Esperanto | eo | Ja | Ja |
kurdisch | ku | NEIN | NEIN |
Tadschikisch | tg | Ja | Ja |
Xhosa | xh | Ja | NEIN |
Jiddisch | yi | Ja | Ja |
Zulu | zu | Ja | Ja |
Sundanesisch | su | Ja | Ja |
Tatarisch | tt | Ja | Ja |
Quechua | qu | NEIN | NEIN |
Uigur | ug | NEIN | NEIN |
Wolof | wo | NEIN | NEIN |
Tswana | tn | Ja | Ja |
llmtranslate ist unter der MIT-Lizenz lizenziert. Weitere Einzelheiten finden Sie in der LICENSE-Datei.