APHRA ist ein Open-Source-Übersetzungsagent, das die Qualität von Textübersetzungen durch Nutzung großer Sprachmodelle (LLMs) verbessern soll. Im Gegensatz zu herkömmlichen Übersetzungswerkzeugen, die ausschließlich auf direkten Übersetzungen angewiesen sind, führt APHRA einen mehrstufigen, kontextbewussten Prozess ein, der Glossarerstellung, Kontextsuche, Kritik und Verfeinerung umfasst. Dieser Ansatz zielt darauf ab, Übersetzungen zu erstellen, die nicht nur die ursprüngliche Bedeutung beibehalten, sondern auch Übersetzernotizen, kontextbezogene Anpassungen und stilistische Verbesserungen einbeziehen. Egal, ob Sie Blog -Beiträge, Artikel oder komplexe Dokumente übersetzen, APHRA stellt eine nuanciertere und genauere Übersetzung sicher, die die Integrität des ursprünglichen Inhalts respektiert.
Wichtiger Hinweis: Aphra soll die Arbeit eines professionellen Übersetzers nicht ersetzen. Stattdessen zielt darauf ab, mehrsprachige Unterstützung bei kleinen Projekten zu ermöglichen, bei denen die Einstellung eines professionellen Übersetzers möglicherweise nicht möglich ist. APHRA bietet eine praktische Lösung für die Erreichung von Qualitätsübersetzungen in Kontexten, in denen ein vollständig professioneller Übersetzungsservice aus dem Zielfernrohr ist, um sicherzustellen, dass Sprachbarrieren die globale Reichweite Ihrer Inhalte nicht behindern.
Demo · BEGROFFEN · Anfragefunktion · Wiki
Motivation
Warum Aphra?
Wie Aphra funktioniert
Demo
Erste Schritte
Anpassbarkeit und Ideen für Erweiterungen
Lizenz
Beitragen
Referenzen
Der Funke für das Start dieses Projekts kam von dem Wunsch, mich herauszufordern, indem er einen komplexen Agenten -Workflow von Grund auf neu gestaltet hat. Das Hauptziel hier ist es, von Grund auf zu lernen und zu wachsen, um so etwas zu bauen. Ich habe das Thema der Übersetzung gewählt, weil ich mit der Idee gespielt habe, meinen persönlichen Blog auch auf Englisch zu veröffentlichen. Ich habe Aphra erfolgreich in die Publikationspipeline integriert und Übersetzungen zu einem nahtlosen Teil des Prozesses gemacht. Wenn Sie daran interessiert sind, wie dies erreicht wurde, finden Sie im Wiki einen detaillierten Leitfaden.
Als Informatiklehrer sah ich dies auch als eine großartige Gelegenheit, ein kleines, aber vollständiges Open-Source-Projekt zu schaffen, das den Best Practices für die Veröffentlichung von GitHub folgt. Aus diesem Grund gibt es so viele Möglichkeiten, anzufangen, alle mit einem didaktischen Ansatz konzipiert. Jedes Feedback zur Verbesserung in diesem Bereich ist mehr als willkommen.
Der Name "Aphra" ist eine Hommage an Aphra Behn, eine der ersten englischen Frauen, die im 17. Jahrhundert seinen Lebensunterhalt durch das Schreiben verdient. Behn war ein Dramatiker, Dichter und Übersetzer, der bedeutende kulturelle Barrieren durchbrach und sie zu einem frühen Pionier für Frauen in der Literatur machte.
Das Benennen dieses Projekts nach Aphra Behn ist eine Möglichkeit, ihr Vermächtnis zu ehren, den Status quo herauszufordern und die Art und Weise zu gestalten, wie wir über Sprache und Ausdruck denken. Ihr Einfluss erinnert uns daran, wie wichtig es ist, Räume zu schaffen, in denen Stimmen gehört und Ideen gedeihen können.
Wie Virginia Woolf bekanntermaßen sagte: "Alle Frauen zusammen, sollten Blumen auf das Grab von Aphra Behn fallen lassen ... denn sie erwarb ihnen das Recht, ihre Gedanken zu sprechen" (Woolf, Virginia. Ein eigener Raum. 1928, bei 65).
APHRA verwendet einen mehrstufigen, agierenden Übersetzungsansatz, der die Schritte, die ein menschlicher Übersetzer bei der Arbeit an einem Text unternehmen könnte, genau nachahmt. So entfaltet sich der Prozess:

Dieser strukturierte Ansatz ermöglicht es Aphra, Übersetzungen zu erstellen, die nicht nur sprachlich korrekt, sondern auch kontextuell reich sind, was es zu einem wertvollen Instrument für kleine Projekte macht, die darauf abzielen, ein globales Publikum ohne die Ressourcen zu erreichen, um einen professionellen Übersetzer einzustellen.
Sie können APHRA hier testen: https://huggingface.co/spaces/davidlms/aphra.
Befolgen Sie die folgenden Schritte, um mit Aphra zu beginnen:
Stellen Sie sicher, dass Sie Folgendes auf Ihrem System installiert haben:
git (zum Klonen des Repositorys)pip (Python Package Installer)Bevor Sie mit der Konfiguration oder Installation fortfahren, müssen Sie das Repository klonen. Dies ist ein häufiger Schritt, der für alle Installationsmethoden erforderlich ist.
Klonen Sie das Repository:
git clone https://github.com/DavidLMS/aphra.gitNavigieren Sie in das Projektverzeichnis:
cd aphraKopieren Sie die Beispielkonfigurationsdatei:
cp config.example.toml config.toml Bearbeiten Sie config.toml , um Ihren OpenRouter -API -Schlüssel und den gewünschten Modellnamen hinzuzufügen.
Nach Konfiguration der Datei config.toml können Sie entweder:
HINWEIS: Wenn Sie mit der Installation fortfahren möchten, sollten Sie mithilfe von APHRA die Datei
config.tomlin den Speicherort des Skripts verschieben oder ihren Pfad direkt angeben, wenn Sie die Funktion aufrufen.
pip installieren Diese Option ist die einfachste Möglichkeit, Aphra zu installieren, wenn Sie seine Abhängigkeiten nicht von anderen Projekten isolieren müssen. Es installiert das Paket in Ihrem System direkt mit pip , dem Standardpaketmanager für Python.
pip install . Poetry ist ein Abhängigkeitsmanagement- und Verpackungsinstrument für Python, mit dem Sie die Abhängigkeiten Ihres Projekts effektiver verwalten können. Es vereinfacht auch den Prozess der Verpackung Ihrer Python -Projekte.
Installieren Sie Gedichte, wenn Sie es noch nicht getan haben:
curl -sSL https://install.python-poetry.org | python3 -Installieren Sie Abhängigkeiten und das Paket:
poetry installAktivieren Sie die virtuelle Umgebung, die durch Gedichte erstellt wurde:
poetry shellEine virtuelle Umgebung ist eine isolierte Umgebung, in der Sie Pakete getrennt von der Python -Installation Ihres Systems installieren können. Dies ist besonders nützlich, um Konflikte zwischen Paketen zu vermeiden, die von verschiedenen Projekten erforderlich sind.
Erstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv aphra
source aphra/bin/activate # On Windows: aphraScriptsactivateEntfernen Sie die Datei pYProject.toml:
rm pyproject.tomlInstallieren Sie das Paket lokal:
pip install . Docker ist eine Plattform, mit der Sie eine Anwendung und ihre Abhängigkeiten in einen "Container" verpacken können. Dieser Container kann konsequent in verschiedenen Umgebungen laufen, sodass es ideal ist, um sicherzustellen, dass Ihr Projekt auf jeder Maschine auf die gleiche Weise funktioniert.
Erstellen Sie das Docker -Bild:
docker build -t aphra .Hinweis: Wenn Sie während des Builds auf Berechtigungsfehler stoßen, versuchen Sie den Befehl mit
sudoaus.
Stellen Sie sicher, dass das Eintragskript Ausführungsberechtigungen enthält. Führen Sie den folgenden Befehl aus:
chmod +x entrypoint.shFür Windows -Benutzer: Sie können Ausführungsberechtigungen mit Git Bash oder WSL (Windows -Subsystem für Linux) hinzufügen. Wenn Sie PowerShell oder Eingabeaufforderung verwenden, müssen Sie möglicherweise nicht die Berechtigungen ändern, sondern sicherstellen, dass das Skript in Ihrer Umgebung ausführbar ist.
Verstehen Sie den Befehl docker run :
-v $(pwd):/workspace : Diese Option montiert Ihr aktuelles Verzeichnis ( $(pwd) in Unix-ähnlichen Systemen, %cd% in Windows) zum /workspace im Container. Auf diese Weise kann der Container in Ihrem aktuellen Verzeichnis auf Dateien zugreifen.aphra : Dies ist der Name des Docker -Bildes, das Sie in Schritt 1 eingebaut haben.English Spanish : Dies sind die Quell- und Zielsprachen für die Übersetzung. Ersetzen Sie sie durch die Sprachen, die Sie benötigen.input.md : Dies ist der Pfad zur Eingabedatei in Ihrem Host -Computer.output.md : Dies ist der Pfad, in dem die übersetzte Ausgabe auf Ihrem Host -Computer gespeichert wird.Führen Sie den Docker -Container aus:
docker run -v $( pwd ) :/workspace aphra English Spanish input.md output.mdZeigen Sie die Übersetzung an, indem Sie den Inhalt der Ausgabedatei drucken:
cat output.mdGet-Content output.md type output.md Sie können Aphra direkt mit dem Skript aphra_runner.py aus dem Terminal ausführen. Dies ist besonders nützlich, um Übersetzungen als Teil eines größeren Workflows oder einer größeren Pipeline zu automatisieren.
Verwenden Sie die folgende Syntax, um eine Datei aus der Befehlszeile zu übersetzen:
python aphra_runner.py < config_file > < source_language > < target_language > < input_file > < output_file ><config_file> : Pfad zur Konfigurationsdatei mit API -Tasten und Modelleinstellungen (z. B. config.toml ).<source_language> : Die Sprache des Eingabentextes (z. B. "Spanisch").<target_language> : Die Sprache, die Sie den Text übersetzen möchten (z. B. "Englisch").<input_file> : Pfad zur Eingabedatei, die den Text enthält, den Sie übersetzen möchten.<output_file> : Pfad, auf dem der übersetzte Text gespeichert wird.Beispiel:
python aphra_runner.py config.toml Spanish English input.md output.mdIn diesem Beispiel:
config.toml wird verwendet.input.md wird von Spanisch in Englisch übersetzt.output.md gespeichert. Wenn Sie APHRA lieber direkt in Ihrem Python -Code verwenden, können Sie mit der translate den Text mit den konfigurierten Sprachmodellen von einer Sprache in eine andere übersetzen. Die Funktion nimmt die folgenden Parameter an:
source_language : Die Sprache des Eingabentextes (z. B. "Spanisch").target_language : Die Sprache, die Sie den Text in (z. B. "Englisch" übersetzen möchten.text : Der Text, den Sie übersetzen möchten.config_file : Der Pfad zur Konfigurationsdatei mit API -Tasten und Modelleinstellungen. Standardmäßig zu "config.toml".log_calls : ein boolescher Angaben, der angibt, ob API -Aufrufe für Debugging -Zwecke angezeigt werden sollen. Standardmäßig False . So können Sie die translate auf generische Weise verwenden:
from aphra import translate
translation = translate ( source_language = 'source_language' ,
target_language = 'target_language' ,
text = 'text_to_translate' ,
config_file = 'config.toml' ,
log_calls = False )
print ( translation )Angenommen, Sie möchten den Satz "Hola Mundo" von Spanisch in Englisch übersetzen. Der Code würde so aussehen:
from aphra import translate
translation = translate ( source_language = 'Spanish' ,
target_language = 'English' ,
text = 'Hola mundo' ,
config_file = 'config.toml' ,
log_calls = False )
print ( translation ) Wenn Sie eine Markdown -Datei ( input.md ) haben, die den Text enthält, den Sie übersetzen möchten, können Sie die Datei lesen, den Inhalt übersetzen und das Ergebnis drucken oder in einer anderen Datei speichern. So wie: wie:
from aphra import translate
# Read the content from the Markdown file
with open ( 'input.md' , 'r' , encoding = 'utf-8' ) as file :
text_to_translate = file . read ()
# Translate the content from Spanish to English
translation = translate ( source_language = 'Spanish' ,
target_language = 'English' ,
text = text_to_translate ,
config_file = 'config.toml' ,
log_calls = False )
# Print the translation or save it to a file
print ( translation )
with open ( 'output.md' , 'w' , encoding = 'utf-8' ) as output_file :
output_file . write ( translation )In diesem Beispiel:
input.md gelesen.output.md . APHRA ist im Hinblick auf Flexibilität konzipiert, was es einfach macht, Ihre spezifischen Anforderungen anpassen zu können. Der einfachste Weg, APHRA anzupassen, besteht darin, den definierten Anruffluss zu erhalten und die Eingabeaufforderungen im Ordner prompts für jeden Schritt zu ändern. Mit diesem Ansatz können Sie die Ausgabe für die meisten Anwendungsfälle an Ihr gewünschtes Ergebnis anpassen.
Wenn Sie den Fluss selbst ändern müssen, müssen Sie in den Code in translate.py eintauchen. Dies ist zwar etwas komplexer, aber es ist für diejenigen, die die Funktionalität von Aphra erweitern möchten, völlig machbar.
Hier sind einige Ideen für weitere Erweiterungen:
Fühlen Sie sich frei zu experimentieren und APHRA auf eine Weise zu erweitern, die zu Ihren Projekten und Ideen passt.
Aphra wird unter der MIT -Lizenz veröffentlicht. Sie können den Code frei für kommerzielle und nichtkommerzielle Zwecke verwenden, ändern und verteilen.
Beiträge zu Aphra sind willkommen! Unabhängig davon, ob er den Code verbessert, die Dokumentation verbessert oder neue Funktionen vorschlägt, Ihre Eingabe ist wertvoll. Bitte besuchen Sie die Datei mit beitragen.md, um Richtlinien zum Einstieg zu erhalten und Ihre Beiträge zu zählen.