So übersetzt du ein ganzes Buch mit der OpenAI API und ChatGPT
Dieser Artikel richtet sich an Geeks.
Ich habe mir immer gedacht, dass es unfair ist, keinen Zugang zu allen Büchern der Welt zu haben, nur weil ein winziger Teil in eine der Sprachen übersetzt ist, die ich beherrsche. Ich habe DeepL und Google Translateentdeckt, wo man einfach eine Datei (docx oder pdf) hochladen kann, um eine sofortige Übersetzung zu erhalten.
Allerdings wird Vietnamesisch auf diesen beiden Plattformen nicht sehr gut unterstützt, und ich suche schon lange nach einer Alternative zu diesen beiden Tools.
Vor ein paar Tagen habe ich festgestellt, dass die Übersetzung von GPT4 im Vergleich zu GPT3.5 extrem präzise ist, präziser als DeepL und Google Translate.
Ich habe versucht, eine PDF-Datei hochzuladen und die Übersetzung mit einem Klick zu erhalten, aber ChatGPT mag keine zu großen Dateien und will nur ein oder zwei Seiten übersetzen. Ich habe JB gefragt, ob er mir ein Programm codieren könnte, um meine chinesischen Bücher zu übersetzen, aber er antwortete, dass das überhaupt nicht seine Priorität sei. Ich wollte eine kostenpflichtige Website nutzen (mit der OpenAI API, aber sie wollte mir 200$ für die Übersetzung des Buches berechnen). Also nahm ich meine Tastatur, meinen Computer und codierte selbst.
Schließlich habe ich „selbst“ codiert, unterstützt von ChatGPT. Ich habe Prompts geschrieben, um ihm die Funktionen zu beschreiben, die ich möchte. Kurz gesagt:
- Eine kleine Weboberfläche zum Hochladen der Basisdaten (.txt) und zur Auswahl der Ausgangs- und Zielsprache aus einer definierten Liste. Ich habe .txt gewählt, weil ich mich derzeit noch nicht in der Lage fühle, eine originalgetreue Kopie des zu übersetzenden Buches mit Bildern (pdf, epub etc.) zu verwalten. Eine Textdatei ist sehr einfach, sehr gut.
- Der zu übersetzende Text muss in mehrere Absätze geteilt werden. Maximal xxx Zeichen. Das Aufteilen in kleine Absätze ermöglicht es, die Grenzen von Aufrufen und Tokens pro Minute zu umgehen. Diese Daten (xxx Zeichen) muss ich noch testen, um optimale Werte zu finden, damit es schnell geht, weniger kostet und die Verarbeitungsgrenzen eingehalten werden.
- Die Absätze werden im Batch-Modus gesendet, um schneller zu sein.
- Die Übersetzung wird in einer .txt-Datei gespeichert, die aktualisiert wird, sobald eine neue Übersetzung eintrifft. So können wir, falls das Programm abstürzt, den bereits übersetzten Teil wiederherstellen und dank einer zweiten .txt-Datei wissen, wo die Übersetzung gestoppt wurde.
ChatGPT hat mir also mehrere Code-Snippets generiert, die ich korrigiert habe, indem ich Kritik äußerte oder meine Anfrage präzisierte. Am Ende hatte ich eine .html-Datei und eine .php-Datei.

Da ich vor ein paar Tagen Windows neu installieren musste, habe ich keine Software mehr auf meinem Computer. Nachdem ich die beiden Codes erhalten hatte, musste ich:
- Sublime Text installieren (zum Codieren)
- Wampserver installieren
- PHP installieren
- Composer installieren
- Guzzle HTTP Client installieren
- CURL installieren und die Abhängigkeiten, die cacert.pem-Datei erhalten
All das wurde von ChatGPT geleitet, denn bei jeder Fehlermeldung weiß man, dass man etwas installieren muss.
Danach bin ich zu OpenAI gegangen, um einen API-Keyzu generieren. Das ist super, super einfach, ehrlich, ich hatte 100-mal mehr Mühe mit der Google- und Bing-API, das hier ist sogar zu einfach.
Ich musste 10$ (+2$ Steuern) bezahlen, um Zugang zur API zu erhalten. 5$ reichen, aber ich weiß, dass ich viel zu übersetzen habe…
Ergebnis
Ein paar Stunden später, hier ist das Ergebnis: Die Oberfläche (html-Datei) zum Hochladen meiner .txt-Datei

Die Übersetzung, die auf der Oberfläche generiert wurde. Aber ich habe auch eine .txt-Datei lokal übersetzt.

Sie können sehen, dass alles lokal ist, da es ein Skript ist, das für mich gemacht wurde, ich werde es nicht online stellen.
Die Preise
Am Anfang habe ich mit dem Modell gpt-3.5-turbo getestet, um weniger zu bezahlen, und trotz aller Tests habe ich nur 1 Cent Dollar bezahlt. Allerdings, die Mini-Tests mit dem Modell gpt-4 kosten deutlich mehr, man sieht die Centbeträge dahinschmelzen. Allerdings ist die Übersetzung wirklich besser, es ist ein Vergnügen, sie zu lesen.
Meiner Schätzung nach hat es mich etwa 2 $ gekostet, 4000 chinesische Zeichen zu übersetzen, also 28 Seiten mit dem Modell gpt-4. Das liegt daran, dass ich anfangs zu stark segmentiert habe. Und der Prompt verbraucht ebenfalls Token. Je mehr ich segmentiere, desto öfter wiederhole ich den Prompt, und das kostet mich Geld.
Dann habe ich gesehen, dass gpt-4-1106-preview die gleiche Übersetzungsqualität lieferte und dreimal günstiger war. Der einzige Nachteil zum Zeitpunkt meines Tests war das lächerliche Antwortlimit (etwas mehr als 4000 Token), weshalb ich meinen Text entsprechend segmentieren musste. Hinweis: Dieses Limit wurde seitdem stark erhöht.
Nachdem ich meinen Text besser segmentiert hatte (500 chinesische Zeichen pro Anfrage und 4040 Token insgesamt pro Anfrage) und auf gpt-4-1106-preview (dreimal günstiger) umgestiegen war, zahle ich etwa 12 $ pro Buch (durchschnittlich 134.000 chinesische Zeichen pro Buch, wobei jedes chinesische Zeichen durchschnittlich in 4 lateinische Zeichen übersetzt wird).
Das ist immer noch in Ordnung, wenn man bedenkt, dass DeepL 8 $ für eine Übersetzung ins Französische verlangt hätte und Google Translate 0 $. Aber es ist ein Buch, das mir am Herzen liegt, und ich habe die Übersetzung von Google nicht richtig verstanden, daher bin ich bereit, etwas mehr zu zahlen, um Zugang zu dem Wissen zu haben.
Ich habe etwas gebraucht, um die URL der OpenAI API und die Modelle zu finden, da ChatGPT mir nicht die richtige gab. Ich stelle sie euch hier bereit:
$url = 'https://api.openai.com/v1/chat/completions'; // URL for OpenAI API
$data = [
'model' => 'gpt-4-1106-preview', // Specifying the model
'messages' => $messages,
'max_tokens' => 4040 // Adjust based on your needs
];
Der Code für den Batch-Versand funktionierte nicht sehr gut, ich werde mir später ansehen, wie ich das verbessern kann. Ohne den Batch-Versand ist die Übersetzung leider ziemlich langsam: 1 Minute pro Seite, also 133 Wörter pro Minute.
gpt-4-1106-preview ist günstiger als gpt-4, aber zu dem Zeitpunkt, als ich es benutzte, waren die Limits schnell erreicht. Ich kann nicht mehr als ein Buch pro Tag übersetzen (Hinweis: Die Limits wurden seitdem erhöht). So habe ich eine Woche gebraucht, um alle 6 Bücher zu übersetzen. Die Modelle ändern sich ständig, zögert nicht, Tests zu machen, die Token pro Anfrage zu erhöhen, die Preise zu vergleichen und das Modell zu wählen, das am besten zu euren Bedürfnissen passt.
Ich bin ursprünglich keine Entwicklerin, aber ich verstehe HTML, PHP und Javascript. Die Tatsache, dass ChatGPT mir fertige Code-Schnipsel auf dem Silbertablett serviert und ich sie nur korrigieren muss, hat mir viel Zeit gespart. Die Codebeispiele auf OpenAI sind hauptsächlich in Python, und ich programmiere in PHP, das hätte mich viel Zeit gekostet, diese Beispiele von Python nach PHP zu übersetzen, ohne ChatGPT. Kurz gesagt, ich empfehle euch wärmstens, ChatGPT für eure kleinen Skripte zu verwenden, egal ob mit der OpenAI API oder nicht.
Inzwischen verwende ich Claude Code, mehr Infos hierund dort