APHRA هو وكيل ترجمة مفتوح المصدر مصمم لتعزيز جودة الترجمات النصية عن طريق الاستفادة من نماذج اللغة الكبيرة (LLMS). على عكس أدوات الترجمة التقليدية التي تعتمد فقط على الترجمات المباشرة ، تقدم APHRA عملية متعددة المراحل ، على دراية بالسياق تتضمن إنشاء مسرد ، والبحث في السياق ، والنقد ، والصقل. يهدف هذا النهج إلى إنتاج ترجمات لا تحتفظ بالمعنى الأصلي فحسب ، بل تتضمن أيضًا ملاحظات المترجم ، والتعديلات السياقية ، والتحسينات الأسلوبية. سواء أكنت ترجم منشورات المدونة أو المقالات أو المستندات المعقدة ، فإن APHRA تضمن ترجمة أكثر دقة ودقيقة تحترم سلامة المحتوى الأصلي.
ملاحظة مهمة: لا تهدف APHRA إلى استبدال عمل مترجم محترف. بدلاً من ذلك ، يهدف إلى تسهيل الدعم متعدد اللغات في مشاريع صغيرة حيث قد لا يكون توظيف مترجم مهني ممكنًا. تقدم APHRA حلاً عمليًا لتحقيق ترجمات عالية الجودة في سياقات حيث تكون خدمة ترجمة احترافية بالكامل خارج نطاقها ، مما يضمن عدم إعاقة الحواجز اللغوية في الوصول العالمي للمحتوى الخاص بك.
العرض التوضيحي · الإبلاغ عن خطأ · طلب ميزة · ويكي
تحفيز
لماذا APHRA؟
كيف يعمل Aphra
العرض التوضيحي
ابدء
التخصيص والأفكار للامتدادات
رخصة
المساهمة
مراجع
جاءت شرارة بدء هذا المشروع من الرغبة في تحدي نفسي من خلال تصميم سير عمل معقد من الصفر. الهدف الأساسي هنا هو التعلم والنمو خلال عملية بناء شيء من هذا القبيل من الألف إلى الياء. لقد اخترت موضوع الترجمة لأنني كنت أتعامل مع فكرة نشر مدونتي الشخصية باللغة الإنجليزية أيضًا. لقد نجحت في دمج APHRA في خط أنابيب المنشور ، مما جعل الترجمات جزءًا سلسًا من العملية. إذا كنت مهتمًا بكيفية تحقيق ذلك ، فيمكنك العثور على دليل مفصل في الويكي.
كمدرس لعلوم الكمبيوتر ، رأيت أيضًا أن هذا يمثل فرصة رائعة لإنشاء مشروع صغير وكامل ومفتوح المصدر يتبع أفضل الممارسات للنشر على Github. لهذا السبب هناك العديد من الخيارات للبدء ، وكلها مصممة مع وضع نهج تعليمي في الاعتبار. أي ردود فعل حول كيفية تحسين هذا المجال هو أكثر من موضع ترحيب.
اسم "Aphra" هو تكريم لأفرا Behn ، واحدة من أوائل النساء الإنجليزات التي تكسب لقمة العيش من خلال الكتابة في القرن السابع عشر. كانت Behn كاتبًا مسرحيًا وشاعراً ومترجمًا اخترق الحواجز الثقافية الهامة ، مما جعلها رائدة في وقت مبكر للنساء في الأدب.
تسمية هذا المشروع بعد Aphra Behn هو وسيلة لتكريم إرثها في تحدي الوضع الراهن وتشكيل الطريقة التي نفكر بها في اللغة والتعبير. يذكرنا تأثيرها بأهمية إنشاء مساحات حيث يمكن سماع الأصوات ويمكن أن تزدهر الأفكار.
كما قالت فرجينيا وولف الشهيرة ، "يجب أن تدع جميع النساء معًا ، يدعون الزهور تسقط على قبر آفرا بهن ... لأنها كانت هي التي كسبت الحق في التحدث بعقولهن" (وولف ، فرجينيا. غرفة من المرء. 1928 ، في 65).
تستخدم APHRA نهجًا متعدد المراحل للترجمة ، مصمم لتقليد عن كثب الخطوات التي قد يتخذها المترجم الإنساني عند العمل على نص. إليك كيفية تطور العملية:

يمكّن هذا النهج المنظم APHRA من إنتاج ترجمات ليست دقيقة فقط من الناحية اللغوية ولكن أيضًا غنية بالسياق ، مما يجعلها أداة قيمة للمشاريع الصغيرة التي تهدف إلى الوصول إلى جمهور عالمي دون موارد لتوظيف مترجم محترف.
يمكنك اختبار Aphra هنا: https://huggingface.co/spaces/davidlms/aphra.
للبدء في APHRA ، اتبع هذه الخطوات:
تأكد من أن لديك ما يلي مثبت على نظامك:
git (لاستنساخ المستودع)pip (مثبت حزمة Python)قبل المتابعة مع التكوين أو التثبيت ، تحتاج إلى استنساخ المستودع. هذه خطوة شائعة مطلوبة لجميع طرق التثبيت.
استنساخ المستودع:
git clone https://github.com/DavidLMS/aphra.gitانتقل إلى دليل المشروع:
cd aphraانسخ ملف تكوين المثال:
cp config.example.toml config.toml تحرير config.toml لإضافة مفتاح API OpenRouter الخاص بك وأسماء النماذج المطلوبة.
بعد تكوين ملف config.toml ، يمكنك إما:
ملاحظة: إذا اخترت المتابعة مع التثبيت ، تذكر نقل ملف
config.tomlإلى موقع البرنامج النصي باستخدام APHRA ، أو حدد مساره مباشرة عند استدعاء الوظيفة.
pip هذا الخيار هو أبسط طريقة لتثبيت APHRA إذا لم تكن بحاجة إلى عزل تبعياتها عن المشاريع الأخرى. يقوم بتثبيت الحزمة مباشرة على نظامك باستخدام pip ، وهو مدير الحزمة القياسي لـ Python.
pip install . الشعر هو أداة إدارة التبعية والتعبئة والتغليف للبيثون تساعدك على إدارة تبعيات مشروعك بشكل أكثر فعالية. كما أنه يبسط عملية تعبئة مشاريع بيثون.
قم بتثبيت الشعر إذا لم تقم بالفعل:
curl -sSL https://install.python-poetry.org | python3 -تثبيت التبعيات والحزمة:
poetry installتنشيط البيئة الافتراضية التي أنشأتها الشعر:
poetry shellالبيئة الافتراضية هي بيئة معزولة تتيح لك تثبيت الحزم بشكل منفصل عن تثبيت Python لنظامك. هذا مفيد بشكل خاص لتجنب النزاعات بين الحزم التي تتطلبها المشاريع المختلفة.
إنشاء وتفعيل بيئة افتراضية:
python -m venv aphra
source aphra/bin/activate # On Windows: aphraScriptsactivateقم بإزالة الملف pyproject.toml:
rm pyproject.tomlقم بتثبيت الحزمة محليًا:
pip install . Docker هو منصة تتيح لك حزم تطبيق ما وتبعياته في "حاوية". يمكن أن تعمل هذه الحاوية باستمرار عبر بيئات مختلفة ، مما يجعلها مثالية لضمان أن مشروعك يعمل بنفس الطريقة على أي جهاز.
بناء صورة Docker:
docker build -t aphra .ملاحظة: إذا واجهت أخطاء إذن أثناء الإنشاء ، فحاول تشغيل الأمر مع
sudo.
تأكد من أن البرنامج النصي للدخول لديه أذونات التنفيذ. قم بتشغيل الأمر التالي:
chmod +x entrypoint.shبالنسبة لمستخدمي Windows: يمكنك إضافة أذونات تنفيذ باستخدام Git Bash أو WSL (نظام Windows الفرعي لـ Linux). إذا كنت تستخدم PowerShell أو موجه الأوامر ، فقد لا تحتاج إلى تغيير الأذونات ، ولكن تأكد من أن البرنامج النصي قابل للتنفيذ في بيئتك.
فهم الأمر docker run :
-v $(pwd):/workspace : يتصاعد هذا الخيار من الدليل الحالي ( $(pwd) في أنظمة تشبه UNIX ، %cd% في Windows) إلى دليل /workspace داخل الحاوية. يتيح هذا للحاوية الوصول إلى الملفات في الدليل الحالي.aphra : هذا هو اسم صورة Docker التي قمت ببنائها في الخطوة 1.English Spanish : هذه هي اللغات المصدر والهدف للترجمة. استبدلهم باللغات التي تحتاجها.input.md : هذا هو المسار إلى ملف الإدخال على جهاز المضيف الخاص بك.output.md : هذا هو المسار الذي سيتم فيه حفظ الإخراج المترجم على جهاز المضيف الخاص بك.قم بتشغيل حاوية Docker:
docker run -v $( pwd ) :/workspace aphra English Spanish input.md output.mdعرض الترجمة عن طريق طباعة محتوى ملف الإخراج:
cat output.mdGet-Content output.md type output.md يمكنك تشغيل APHRA مباشرة من المحطة باستخدام البرنامج النصي aphra_runner.py . هذا مفيد بشكل خاص لأتمتة الترجمات كجزء من سير عمل أكبر أو خط أنابيب.
لترجمة ملف من سطر الأوامر ، استخدم بناء الجملة التالي:
python aphra_runner.py < config_file > < source_language > < target_language > < input_file > < output_file ><config_file> : مسار إلى ملف التكوين الذي يحتوي على مفاتيح API وإعدادات النموذج (على سبيل المثال ، config.toml ).<source_language> : لغة نص الإدخال (على سبيل المثال ، "Spanish").<target_language> : اللغة التي تريد ترجمة النص إلى (على سبيل المثال ، "الإنجليزية").<input_file> : مسار إلى ملف الإدخال الذي يحتوي على النص الذي تريد ترجمته.<output_file> : المسار حيث سيتم حفظ النص المترجم.مثال:
python aphra_runner.py config.toml Spanish English input.md output.mdفي هذا المثال:
config.toml .input.md من الإسبانية إلى الإنجليزية.output.md . إذا كنت تفضل استخدام APHRA مباشرة في رمز Python الخاص بك ، فإن وظيفة translate تسمح لك بترجمة النص من لغة إلى أخرى باستخدام نماذج اللغة المكونة. الوظيفة تأخذ المعلمات التالية:
source_language : لغة نص الإدخال (على سبيل المثال ، "الإسبانية").target_language : اللغة التي تريد ترجمة النص إلى (على سبيل المثال ، "الإنجليزية").text : النص الذي تريد ترجمته.config_file : المسار إلى ملف التكوين الذي يحتوي على مفاتيح API وإعدادات النموذج. الإعدادات الافتراضية إلى "config.toml".log_calls : A Bolean التي تشير إلى ما إذا كنت تريد تسجيل API لأغراض تصحيح الأخطاء. الإعدادات الافتراضية إلى False . إليك كيفية استخدام وظيفة translate بطريقة عامة:
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 )لنفترض أنك تريد ترجمة الجملة "Hola Mundo" من الإسبانية إلى الإنجليزية. سيبدو الرمز هكذا:
from aphra import translate
translation = translate ( source_language = 'Spanish' ,
target_language = 'English' ,
text = 'Hola mundo' ,
config_file = 'config.toml' ,
log_calls = False )
print ( translation ) إذا كان لديك ملف markdown ( input.md ) يحتوي على النص الذي تريد ترجمته ، فيمكنك قراءة الملف وترجمة محتوىه ، ثم طباعة النتيجة أو حفظه إلى ملف آخر. إليكم كيف:
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 )في هذا المثال:
input.md .output.md . تم تصميم APHRA مع مراعاة المرونة ، مما يجعل من السهل تخصيص احتياجاتك الخاصة. إن أبسط طريقة لتخصيص APHRA هي الحفاظ على تدفق المكالمات المحدد وتعديل المطالبات داخل مجلد prompts لكل خطوة. يتيح لك هذا النهج تكييف الإخراج مع النتيجة المطلوبة لمعظم حالات الاستخدام.
إذا كنت بحاجة إلى تعديل التدفق نفسه ، فستحتاج إلى الغوص في الكود في translate.py . على الرغم من أن هذا أكثر تعقيدًا بعض الشيء ، إلا أنه يمكن القيام به تمامًا لأولئك الذين يتطلعون إلى توسيع وظائف APHRA.
فيما يلي بعض الأفكار لمزيد من الإضافات:
لا تتردد في تجربة APHRA وتوسيعها بطرق تناسب مشاريعك وأفكارك.
يتم إصدار APHRA تحت رخصة معهد ماساتشوستس للتكنولوجيا. أنت حر في استخدام الكود وتعديله وتوزيعه للأغراض التجارية وغير التجارية.
المساهمات في APHRA موضع ترحيب! سواء أكان ذلك يحسن الرمز أو تعزيز الوثائق أو اقتراح ميزات جديدة ، فإن إدخالك ذي قيمة. يرجى مراجعة ملف المساهمة.