APHRA adalah agen terjemahan sumber terbuka yang dirancang untuk meningkatkan kualitas terjemahan teks dengan memanfaatkan model bahasa besar (LLM). Tidak seperti alat terjemahan tradisional yang hanya mengandalkan terjemahan langsung, APHRA memperkenalkan proses multi-tahap, konteks-sadar yang mencakup penciptaan glosarium, pencarian kontekstual, kritik, dan penyempurnaan. Pendekatan ini bertujuan untuk menghasilkan terjemahan yang tidak hanya mempertahankan makna asli tetapi juga menggabungkan catatan penerjemah, penyesuaian kontekstual, dan peningkatan gaya. Apakah Anda menerjemahkan posting blog, artikel, atau dokumen kompleks, APHRA memastikan terjemahan yang lebih bernuansa dan akurat yang menghormati integritas konten asli.
Catatan penting: APHRA tidak dimaksudkan untuk menggantikan karya penerjemah profesional. Sebaliknya, ini bertujuan untuk memfasilitasi dukungan multibahasa dalam proyek -proyek kecil di mana mempekerjakan penerjemah profesional mungkin tidak layak. APHRA menawarkan solusi praktis untuk mencapai terjemahan berkualitas dalam konteks di mana layanan terjemahan yang sepenuhnya profesional di luar cakupan, memastikan bahwa hambatan bahasa tidak menghalangi jangkauan global konten Anda.
Demo · Laporkan Bug · Fitur Permintaan · Wiki
Motivasi
Mengapa Aphra?
Bagaimana Aphra Bekerja
Demo
Memulai
Kemampuan penyesuaian dan ide untuk ekstensi
Lisensi
Berkontribusi
Referensi
Percikan untuk memulai proyek ini berasal dari keinginan untuk menantang diri saya dengan merancang alur kerja agen yang kompleks dari awal. Tujuan utama di sini adalah untuk belajar dan tumbuh melalui proses membangun sesuatu seperti ini dari bawah ke atas. Saya memilih tema terjemahan karena saya telah bermain -main dengan ide menerbitkan blog pribadi saya dalam bahasa Inggris juga. Saya telah berhasil mengintegrasikan APHRA ke dalam pipa publikasi, menjadikan terjemahan bagian yang mulus dari proses tersebut. Jika Anda tertarik pada bagaimana ini tercapai, Anda dapat menemukan panduan terperinci di wiki.
Sebagai guru ilmu komputer, saya juga melihat ini sebagai peluang besar untuk membuat proyek kecil, namun lengkap, open-source yang mengikuti praktik terbaik untuk penerbitan di GitHub. Itu sebabnya ada begitu banyak pilihan untuk memulai, semua dirancang dengan pendekatan didaktik dalam pikiran. Setiap umpan balik tentang cara meningkatkan di area itu lebih dari disambut.
Nama "Aphra" adalah penghargaan kepada Aphra Behn, salah satu wanita Inggris pertama yang mencari nafkah melalui tulisan di abad ke -17. Behn adalah seorang penulis naskah, penyair, dan penerjemah yang menerobos hambatan budaya yang signifikan, menjadikannya pelopor awal bagi wanita dalam sastra.
Menamai proyek ini setelah Aphra Behn adalah cara untuk menghormati warisannya menantang status quo dan membentuk cara kita berpikir tentang bahasa dan ekspresi. Pengaruhnya mengingatkan kita akan pentingnya menciptakan ruang di mana suara -suara dapat didengar dan ide -ide dapat berkembang.
Seperti yang dikatakan oleh Virginia Woolf, "Semua wanita bersama -sama, harus membiarkan bunga jatuh di atas kuburan Aphra Behn ... karena dialah yang mendapatkan hak mereka untuk berbicara pikiran mereka" (Woolf, Virginia. Kamar sendiri. 1928, pukul 65).
APHRA menggunakan pendekatan multi-tahap, agen untuk terjemahan, yang dirancang untuk meniru langkah-langkah yang mungkin diambil oleh penerjemah manusia saat mengerjakan teks. Beginilah prosesnya terungkap:

Pendekatan terstruktur ini memungkinkan APHRA untuk menghasilkan terjemahan yang tidak hanya akurat secara linguistik tetapi juga kaya secara kontekstual, menjadikannya alat yang berharga untuk proyek -proyek kecil yang bertujuan untuk menjangkau audiens global tanpa sumber daya untuk mempekerjakan penerjemah profesional.
Anda dapat menguji APHRA di sini: https://huggingface.co/spaces/davidlms/aphra.
Untuk memulai dengan Aphra, ikuti langkah -langkah ini:
Pastikan Anda memiliki yang diinstal pada sistem Anda:
git (untuk mengkloning repositori)pip (Penginstal Paket Python)Sebelum melanjutkan dengan konfigurasi atau instalasi, Anda perlu mengkloning repositori. Ini adalah langkah umum yang diperlukan untuk semua metode instalasi.
Klon Repositori:
git clone https://github.com/DavidLMS/aphra.gitMenavigasi ke direktori proyek:
cd aphraSalin file konfigurasi contoh:
cp config.example.toml config.toml Edit config.toml untuk menambahkan tombol API OpenRouter Anda dan nama model yang diinginkan.
Setelah mengkonfigurasi file config.toml , Anda dapat:
Catatan: Jika Anda memilih untuk melanjutkan dengan instalasi, ingatlah untuk memindahkan file
config.tomlke lokasi skrip menggunakan APHRA, atau tentukan jalurnya secara langsung saat memanggil fungsi.
pip Opsi ini adalah cara paling sederhana untuk menginstal APHRA jika Anda tidak perlu mengisolasi ketergantungannya dari proyek lain. Langsung menginstal paket pada sistem Anda menggunakan pip , yang merupakan manajer paket standar untuk Python.
pip install . Puisi adalah alat manajemen dan pengemasan ketergantungan untuk Python yang membantu Anda mengelola dependensi proyek Anda secara lebih efektif. Ini juga menyederhanakan proses pengemasan proyek Python Anda.
Instal puisi jika Anda belum:
curl -sSL https://install.python-poetry.org | python3 -Instal dependensi dan paket:
poetry installAktifkan lingkungan virtual yang dibuat oleh puisi:
poetry shellLingkungan virtual adalah lingkungan yang terisolasi yang memungkinkan Anda menginstal paket secara terpisah dari instalasi python sistem Anda. Ini sangat berguna untuk menghindari konflik antar paket yang diperlukan oleh berbagai proyek.
Buat dan aktifkan lingkungan virtual:
python -m venv aphra
source aphra/bin/activate # On Windows: aphraScriptsactivateHapus file pyproject.toml:
rm pyproject.tomlInstal paket secara lokal:
pip install . Docker adalah platform yang memungkinkan Anda untuk mengemas aplikasi dan ketergantungannya ke dalam "wadah." Wadah ini dapat berjalan secara konsisten di berbagai lingkungan, membuatnya ideal untuk memastikan bahwa proyek Anda bekerja dengan cara yang sama pada mesin apa pun.
Bangun gambar Docker:
docker build -t aphra .Catatan: Jika Anda menemukan kesalahan izin selama build, coba jalankan perintah dengan
sudo.
Pastikan skrip entri memiliki izin eksekusi. Jalankan perintah berikut:
chmod +x entrypoint.shUntuk pengguna Windows: Anda dapat menambahkan izin mengeksekusi menggunakan Git Bash atau WSL (Subsistem Windows untuk Linux). Jika Anda menggunakan PowerShell atau Command Prompt, Anda mungkin tidak perlu mengubah izin, tetapi pastikan skrip dapat dieksekusi di lingkungan Anda.
Memahami Perintah docker run :
-v $(pwd):/workspace : Opsi ini memasang direktori Anda saat ini ( $(pwd) dalam sistem seperti Unix, %cd% di windows) ke direktori /workspace di dalam wadah. Ini memungkinkan wadah untuk mengakses file di direktori Anda saat ini.aphra : Ini adalah nama gambar Docker yang Anda bangun di Langkah 1.English Spanish : Ini adalah bahasa sumber dan target untuk terjemahan. Ganti dengan bahasa yang Anda butuhkan.input.md : Ini adalah jalur ke file input pada mesin host Anda.output.md : Ini adalah jalur di mana output yang diterjemahkan akan disimpan pada mesin host Anda.Jalankan wadah Docker:
docker run -v $( pwd ) :/workspace aphra English Spanish input.md output.mdTampilkan terjemahan dengan mencetak konten file output:
cat output.mdGet-Content output.md type output.md Anda dapat menjalankan APHRA langsung dari terminal menggunakan skrip aphra_runner.py . Ini sangat berguna untuk mengotomatisasi terjemahan sebagai bagian dari alur kerja atau pipa yang lebih besar.
Untuk menerjemahkan file dari baris perintah, gunakan sintaks berikut:
python aphra_runner.py < config_file > < source_language > < target_language > < input_file > < output_file ><config_file> : path ke file konfigurasi yang berisi tombol API dan pengaturan model (misalnya, config.toml ).<source_language> : bahasa teks input (misalnya, "Spanyol").<target_language> : Bahasa yang ingin Anda terjemahkan teks ke dalam (misalnya, "Bahasa Inggris").<input_file> : path ke file input yang berisi teks yang ingin Anda terjemahkan.<output_file> : jalur di mana teks yang diterjemahkan akan disimpan.Contoh:
python aphra_runner.py config.toml Spanish English input.md output.mdDalam contoh ini:
config.toml digunakan.input.md diterjemahkan dari bahasa Spanyol ke bahasa Inggris.output.md . Jika Anda lebih suka menggunakan APHRA secara langsung dalam kode Python Anda, fungsi translate memungkinkan Anda untuk menerjemahkan teks dari satu bahasa ke bahasa lain menggunakan model bahasa yang dikonfigurasi. Fungsi mengambil parameter berikut:
source_language : Bahasa teks input (misalnya, "Spanyol").target_language : Bahasa yang ingin Anda terjemahkan teks ke dalam (misalnya, "Bahasa Inggris").text : Teks yang ingin Anda terjemahkan.config_file : Jalur ke file konfigurasi yang berisi tombol API dan pengaturan model. Default ke "config.toml".log_calls : Boolean yang menunjukkan apakah akan mencatat panggilan API untuk tujuan debugging. Default ke False . Inilah cara Anda dapat menggunakan fungsi translate secara umum:
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 )Misalkan Anda ingin menerjemahkan kalimat "Hola Mundo" dari bahasa Spanyol ke bahasa Inggris. Kode akan terlihat seperti ini:
from aphra import translate
translation = translate ( source_language = 'Spanish' ,
target_language = 'English' ,
text = 'Hola mundo' ,
config_file = 'config.toml' ,
log_calls = False )
print ( translation ) Jika Anda memiliki file markdown ( input.md ) yang berisi teks yang ingin Anda terjemahkan, Anda dapat membaca file, menerjemahkan kontennya, dan kemudian mencetak hasilnya atau menyimpannya ke file lain. Begini caranya:
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 )Dalam contoh ini:
input.md .output.md . APHRA dirancang dengan mempertimbangkan fleksibilitas, membuatnya mudah untuk disesuaikan dengan kebutuhan spesifik Anda. Cara paling sederhana untuk menyesuaikan APHRA adalah dengan mempertahankan aliran panggilan yang ditentukan dan memodifikasi prompt dalam folder prompts untuk setiap langkah. Pendekatan ini memungkinkan Anda untuk menyesuaikan output dengan hasil yang Anda inginkan untuk sebagian besar kasus penggunaan.
Jika Anda perlu memodifikasi aliran itu sendiri, Anda harus menyelami kode dalam translate.py . Meskipun ini sedikit lebih kompleks, itu sepenuhnya bisa dilakukan bagi mereka yang ingin memperluas fungsionalitas APHRA.
Berikut adalah beberapa ide untuk ekstensi lebih lanjut:
Jangan ragu untuk bereksperimen dan memperluas APHRA dengan cara yang sesuai dengan proyek dan ide Anda.
APHRA dirilis di bawah lisensi MIT. Anda bebas menggunakan, memodifikasi, dan mendistribusikan kode untuk tujuan komersial dan non-komersial.
Kontribusi ke Aphra dipersilakan! Baik itu meningkatkan kode, meningkatkan dokumentasi, atau menyarankan fitur baru, input Anda sangat berharga. Silakan periksa file contributing.md untuk pedoman tentang cara memulai dan membuat kontribusi Anda diperhitungkan.