APHRA-это агент по переводу с открытым исходным кодом, предназначенный для повышения качества текстовых переводов путем использования крупных языковых моделей (LLMS). В отличие от традиционных инструментов перевода, которые полагаются исключительно на прямые переводы, Aphra вводит многоэтапный процесс с учетом контекста, который включает в себя создание глоссария, контекстуальный поиск, критику и уточнение. Этот подход направлен на создание переводов, которые не только сохраняют первоначальное значение, но и включают в себя заметки переводчика, контекстуальные корректировки и стилистические улучшения. Независимо от того, переводите ли вы сообщения в блоге, статьи или сложные документы, Aphra обеспечивает более нюансированный и точный перевод, который уважает целостность исходного контента.
Важное примечание: APHRA не предназначена для замены работы профессионального переводчика. Вместо этого он стремится облегчить многоязычную поддержку в небольших проектах, где наем профессионального переводчика может быть невозможным. APHRA предлагает практическое решение для достижения качественных переводов в контекстах, где полностью профессиональная служба перевода выходит за рамки, гарантируя, что языковые барьеры не препятствуют глобальному охвату вашего контента.
Демонстрация · Ошибка отчета · Функция запроса · Вики
Мотивация
Почему афра?
Как работает Афра
Демо
Начиная
Настраиваемость и идеи для расширений
Лицензия
Внося
Ссылки
Искра начала этого проекта произошла из -за желания бросить вызов себе, разработав сложный агент рабочего процесса с нуля. Основная цель здесь - учиться и расти в процессе создания чего -то подобного с нуля. Я выбрал тему перевода, потому что я играл с идеей публиковать свой личный блог на английском языке. Я успешно интегрировал APHRA в конвейер публикации, делая переводы беспроблемной частью процесса. Если вам интересно, как это было достигнуто, вы можете найти подробное руководство в вики.
Как учитель компьютерных наук, я также видел в этом прекрасную возможность создать небольшой, но полный проект с открытым исходным кодом, который следует за лучшими практиками для публикации на GitHub. Вот почему есть так много вариантов для начала, и все это разработано с учетом дидактического подхода. Любая обратная связь о том, как улучшить в этой области, более чем приветствуется.
Название «Aphra» - это дань Афре Бен, одной из первых английских женщин, которые зарабатывают на жизнь за счет письма в 17 веке. Бен был драматургом, поэтом и переводчиком, который преодолел значительные культурные барьеры, делая ее ранним пионером для женщин в литературе.
Называние этого проекта после того, как Афра Бен - способ соблюдать ее наследие оспорить статус -кво и формировать то, как мы думаем о языке и выражении. Ее влияние напоминает нам о важности создания пробелов, где можно услышать голоса, и идеи могут процветать.
Как известно, Вирджиния Вулф сказала: «Все женщины вместе, должны позволить цветам упасть на могилу Афры Бен ... потому что именно она заслужила их право высказывать свое мнение» (Вульф, Вирджиния. Собственная комната. 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 . Поэзия является инструментом управления зависимостями и упаковки для Python, который помогает вам более эффективно управлять зависимостями вашего проекта. Это также упрощает процесс упаковки ваших проектов Python.
Установите стихи, если вы еще этого не сделали:
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> : язык входного текста (например, «испанский»).<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 : логический, указывающий, следует ли регистрировать 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 )Предположим, вы хотите перевести предложение «Хола Мундо» с испанского на английский. Код будет выглядеть так:
from aphra import translate
translation = translate ( source_language = 'Spanish' ,
target_language = 'English' ,
text = 'Hola mundo' ,
config_file = 'config.toml' ,
log_calls = False )
print ( translation ) Если у вас есть файл разметки ( 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 выпускается по лицензии MIT. Вы можете свободно использовать, изменять и распространять код как для коммерческих, так и для некоммерческих целей.
Вклад в Aphra приветствуются! Будь то улучшение кода, улучшение документации или предложение новых функций, ваш вход является ценным. Пожалуйста, ознакомьтесь с файлом Anforming.md для руководящих принципов о том, как начать, и сделать ваши взносы.