APHRA는 LLM (Large Language Model)을 활용하여 텍스트 번역 품질을 향상 시키도록 설계된 오픈 소스 번역 에이전트입니다. 직접 번역에만 의존하는 전통적인 번역 도구와 달리 APHRA는 용어집 생성, 상황 검색, 비평 및 개선을 포함하는 다단계의 상황 인식 프로세스를 도입합니다. 이 접근법은 원래의 의미를 유지할뿐만 아니라 번역기 노트, 맥락 조정 및 문체 개선을 포함하는 번역을 생성하는 것을 목표로합니다. APHRA는 블로그 게시물, 기사 또는 복잡한 문서를 번역하든 원래 콘텐츠의 무결성을 존중하는보다 미묘하고 정확한 번역을 보장합니다.
중요 참고 사항 : APHRA는 전문 번역가의 작업을 대체하기위한 것이 아닙니다. 대신, 전문 번역가를 고용 할 수없는 소규모 프로젝트에서 다국어 지원을 용이하게하는 것을 목표로합니다. APHRA는 완전히 전문적인 번역 서비스가 범위를 벗어난 상황에서 품질 번역을 달성하기위한 실용적인 솔루션을 제공하여 언어 장벽이 컨텐츠의 글로벌 범위를 방해하지 않도록합니다.
데모 ·보고 버그 · 요청 기능 · 위키
동기 부여
왜 Aphra?
Aphra의 작동 방식
데모
시작하기
확장에 대한 사용자 정의 및 아이디어
특허
기여
참조
이 프로젝트를 시작하기위한 불꽃은 처음부터 복잡한 에이전트 워크 플로를 설계함으로써 나 자신에게 도전하려는 욕구에서 비롯되었습니다. 여기서 주요 목표는 이와 같은 것을 처음부터 구축하는 과정을 통해 배우고 성장하는 것입니다. 나는 개인 블로그를 영어로 게시한다는 아이디어를 가지고 놀았 기 때문에 번역 주제를 선택했습니다. APHRA를 출판 파이프 라인에 성공적으로 통합하여 번역을 프로세스의 원활한 부분으로 만들었습니다. 이것이 어떻게 달성되었는지에 관심이 있다면 위키에서 자세한 안내서를 찾을 수 있습니다.
컴퓨터 과학 교사로서 저는 이것을 Github에 게시하기위한 모범 사례를 따르는 작지만 완전한 오픈 소스 프로젝트를 만들 수있는 좋은 기회라고 생각했습니다. 그렇기 때문에 시작할 수있는 옵션이 너무 많아서 교훈적인 접근 방식을 염두에두고 설계되었습니다. 해당 분야의 개선 방법에 대한 피드백은 환영받는 것 이상입니다.
"Aphra"라는 이름은 17 세기에 글을 쓰면서 생계를 유지 한 최초의 영국 여성 중 하나 인 Aphra Behn에게 경의를 표합니다. Behn은 극작가, 시인 및 번역가로서 중요한 문화적 장벽을 뚫고 문학에서 여성을위한 초기 개척자가되었습니다.
Aphra Behn 이후이 프로젝트의 이름을 지정하는 것은 현 상태에 도전하고 언어와 표현에 대한 생각을 형성하는 그녀의 유산을 존중하는 방법입니다. 그녀의 영향은 우리에게 목소리가 들리고 아이디어가 번성 할 수있는 공간을 만드는 것이 중요하다는 것을 상기시켜줍니다.
버지니아 울프 (Virginia Woolf)가 유명하게 말했듯이, "모든 여성들은 아프라 베른 (Aphra Behn)의 무덤에 꽃이 떨어지게해야한다.
APHRA는 텍스트를 작업 할 때 인간 번역기가 취할 수있는 단계를 밀접하게 모방하도록 설계된 다단계의 에이전트 접근 방식을 사용합니다. 프로세스가 전개되는 방법은 다음과 같습니다.

이 구조화 된 접근 방식을 통해 APHRA는 언어 적으로 정확할뿐만 아니라 상황에 따라 부유 한 번역을 생성 할 수 있으므로 전문 번역가를 고용 할 수있는 자원없이 전 세계 잠재 고객에게 도달 할 수있는 소규모 프로젝트를위한 귀중한 도구가됩니다.
https://huggingface.co/spaces/davidlms/aphra에서 APHRA를 테스트 할 수 있습니다.
Aphra를 시작하려면 다음 단계를 따르십시오.
시스템에 다음을 설치했는지 확인하십시오.
git (저장소 복제)pip (파이썬 패키지 설치 프로그램)구성 또는 설치를 진행하기 전에 저장소를 복제해야합니다. 이것은 모든 설치 방법에 필요한 일반적인 단계입니다.
저장소 복제 :
git clone https://github.com/DavidLMS/aphra.git프로젝트 디렉토리로 이동하십시오.
cd aphra구성 파일을 복사합니다.
cp config.example.toml config.toml config.toml 편집하여 OpenRouter API 키 및 원하는 모델 이름을 추가하십시오.
config.toml 파일을 구성한 후 다음 중 하나를 사용할 수 있습니다.
참고 : 설치를 진행하기로 선택한 경우
config.toml파일을 APHRA를 사용하여 스크립트 위치로 이동하거나 함수를 호출 할 때 직접 경로를 지정하십시오.
pip 로 로컬로 설치하십시오 이 옵션은 다른 프로젝트에서 종속성을 분리 할 필요가없는 경우 APHRA를 설치하는 가장 간단한 방법입니다. Python의 표준 패키지 관리자 인 pip 사용하여 시스템에 패키지를 직접 설치합니다.
pip install . Poetry는 프로젝트의 종속성을보다 효과적으로 관리하는 데 도움이되는 Python 용 의존성 관리 및 포장 도구입니다. 또한 파이썬 프로젝트를 포장하는 과정을 단순화합니다.
아직 그렇지 않은 경우시를 설치하십시오.
curl -sSL https://install.python-poetry.org | python3 -종속성 및 패키지 설치 :
poetry install시가 만든 가상 환경 활성화 :
poetry shell가상 환경은 시스템의 파이썬 설치와 별도로 패키지를 설치할 수있는 고립 된 환경입니다. 이것은 다른 프로젝트에 필요한 패키지 간의 충돌을 피하는 데 특히 유용합니다.
가상 환경 생성 및 활성화 :
python -m venv aphra
source aphra/bin/activate # On Windows: aphraScriptsactivatepyproject.toml 파일을 제거하십시오 :
rm pyproject.toml로컬로 패키지 설치 :
pip install . Docker는 응용 프로그램과 그 종속성을 "컨테이너"에 패키지 할 수있는 플랫폼입니다. 이 컨테이너는 다른 환경에서 일관되게 실행될 수 있으므로 프로젝트가 모든 기계에서 동일한 방식으로 작동하도록하는 데 이상적입니다.
Docker 이미지 구축 :
docker build -t aphra .참고 : 빌드 중에 권한 오류가 발생하면
sudo와 함께 명령을 실행해보십시오.
입력 스크립트에 실행 권한이 있는지 확인하십시오. 다음 명령을 실행하십시오.
chmod +x entrypoint.shWindows 사용자의 경우 : Git Bash 또는 WSL (Linux 용 Windows 서브 시스템)을 사용하여 실행 권한을 추가 할 수 있습니다. PowerShell 또는 명령 프롬프트를 사용하는 경우 권한을 변경할 필요가 없지만 스크립트가 환경에서 실행 될 수 있는지 확인하십시오.
docker run 명령 이해 :
-v $(pwd):/workspace :이 옵션은 컨테이너 내부의 /workspace 디렉토리에 현재 디렉토리 ( $(pwd) , Windows의 %cd% )를 장착합니다. 이를 통해 컨테이너가 현재 디렉토리의 파일에 액세스 할 수 있습니다.aphra : 이것은 1 단계에서 구축 한 Docker 이미지의 이름입니다.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_runner.py 스크립트를 사용하여 터미널에서 직접 APHRA를 실행할 수 있습니다. 이는 더 큰 워크 플로 또는 파이프 라인의 일부로 번역을 자동화하는 데 특히 유용합니다.
명령 줄에서 파일을 변환하려면 다음 구문을 사용하십시오.
python aphra_runner.py < config_file > < source_language > < target_language > < input_file > < output_file ><config_file> : API 키 및 모델 설정이 포함 된 구성 파일로가는 경로 (예 : config.toml ).<source_language> : 입력 텍스트의 언어 (예 : "스페인어").<target_language> : 텍스트를 (예 : "English")로 변환하려는 언어.<input_file> : 번역하려는 텍스트가 포함 된 입력 파일로의 경로.<output_file> : 번역 된 텍스트가 저장되는 경로.예:
python aphra_runner.py config.toml Spanish English input.md output.md이 예에서 :
config.toml 이 사용됩니다.input.md 의 텍스트는 스페인어에서 영어로 번역됩니다.output.md 로 저장됩니다. Python 코드에서 APHRA를 직접 사용하려면 translate 기능을 사용하면 구성된 언어 모델을 사용하여 한 언어에서 다른 언어로 텍스트를 변환 할 수 있습니다. 함수는 다음 매개 변수를 취합니다.
source_language : 입력 텍스트의 언어 (예 : "스페인어").target_language : 텍스트를 (예 : "English")로 변환하려는 언어.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 )"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는 MIT 라이센스에 따라 릴리스됩니다. 상업적 및 비상업적 목적으로 코드를 자유롭게 사용, 수정 및 배포 할 수 있습니다.
Aphra에 대한 기여를 환영합니다! 코드 개선, 문서 향상 또는 새로운 기능을 제안하든 입력은 가치가 있습니다. 기여를 시작하고 기부금을 세는 방법에 대한 지침은 Contributing.md 파일을 확인하십시오.