Aphra เป็นตัวแทนการแปลโอเพนซอร์ซที่ออกแบบมาเพื่อปรับปรุงคุณภาพของการแปลข้อความโดยใช้ประโยชน์จากรูปแบบภาษาขนาดใหญ่ (LLMs) ซึ่งแตกต่างจากเครื่องมือการแปลแบบดั้งเดิมที่พึ่งพาการแปลโดยตรงเพียงอย่างเดียว Aphra แนะนำกระบวนการหลายขั้นตอนที่ตระหนักถึงบริบทซึ่งรวมถึงการสร้างอภิธานศัพท์การค้นหาตามบริบทการวิจารณ์และการปรับแต่ง วิธีการนี้มีจุดมุ่งหมายเพื่อสร้างการแปลที่ไม่เพียง แต่รักษาความหมายดั้งเดิม แต่ยังรวมบันทึกย่อของนักแปลการปรับบริบทและการปรับปรุงโวหาร ไม่ว่าคุณจะแปลโพสต์บล็อกบทความหรือเอกสารที่ซับซ้อน Aphra ทำให้มั่นใจได้ว่าการแปลที่เหมาะสมและแม่นยำยิ่งขึ้นซึ่งเคารพความสมบูรณ์ของเนื้อหาต้นฉบับ
หมายเหตุสำคัญ: Aphra ไม่ได้มีวัตถุประสงค์เพื่อแทนที่งานของนักแปลมืออาชีพ แต่มีจุดมุ่งหมายเพื่ออำนวยความสะดวกในการสนับสนุนหลายภาษาในโครงการขนาดเล็กที่การจ้างนักแปลมืออาชีพอาจไม่สามารถทำได้ Aphra นำเสนอโซลูชันที่เป็นประโยชน์สำหรับการบรรลุการแปลที่มีคุณภาพในบริบทที่บริการแปลมืออาชีพอย่างเต็มที่อยู่นอกขอบเขตทำให้มั่นใจได้ว่าอุปสรรคทางภาษาไม่ได้ขัดขวางการเข้าถึงเนื้อหาของคุณทั่วโลก
การสาธิต·รายงานข้อบกพร่อง·คุณลักษณะการร้องขอ· Wiki
แรงจูงใจ
ทำไม Aphra?
Aphra ทำงานอย่างไร
การสาธิต
เริ่มต้น
ความสามารถในการปรับแต่งและแนวคิดสำหรับส่วนขยาย
ใบอนุญาต
การบริจาค
การอ้างอิง
จุดประกายสำหรับการเริ่มต้นโครงการนี้มาจากความปรารถนาที่จะท้าทายตัวเองโดยการออกแบบเวิร์กโฟลว์ตัวแทนที่ซับซ้อนตั้งแต่เริ่มต้น เป้าหมายหลักที่นี่คือการเรียนรู้และเติบโตผ่านกระบวนการสร้างสิ่งนี้ตั้งแต่พื้นดิน ฉันเลือกธีมของการแปลเพราะฉันได้รับความคิดในการเผยแพร่บล็อกส่วนตัวของฉันเป็นภาษาอังกฤษเช่นกัน ฉันประสบความสำเร็จในการรวม Aphra เข้ากับท่อส่งสิ่งพิมพ์ทำให้การแปลเป็นส่วนหนึ่งของกระบวนการ หากคุณสนใจว่าจะประสบความสำเร็จได้อย่างไรคุณสามารถค้นหาคู่มือโดยละเอียดในวิกิ
ในฐานะครูวิทยาศาสตร์คอมพิวเตอร์ฉันยังเห็นว่านี่เป็นโอกาสที่ดีในการสร้างโครงการโอเพนซอร์ซขนาดเล็ก แต่สมบูรณ์ซึ่งเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดสำหรับการเผยแพร่บน GitHub นั่นเป็นเหตุผลว่าทำไมจึงมีตัวเลือกมากมายให้เริ่มต้นทั้งหมดได้รับการออกแบบโดยคำนึงถึงวิธีการสอนในใจ ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการปรับปรุงในพื้นที่นั้นเป็นมากกว่าการต้อนรับ
ชื่อ "Aphra" เป็นเครื่องบรรณาการให้ Aphra Behn หนึ่งในผู้หญิงอังกฤษคนแรกที่หาเลี้ยงชีพผ่านการเขียนในศตวรรษที่ 17 Behn เป็นนักเขียนบทละครกวีและนักแปลที่บุกเข้าไปในอุปสรรคทางวัฒนธรรมที่สำคัญทำให้เธอเป็นผู้บุกเบิกยุคแรกสำหรับผู้หญิงในวรรณคดี
การตั้งชื่อโครงการนี้หลังจาก Aphra Behn เป็นวิธีที่จะให้เกียรติมรดกของเธอในการท้าทายสภาพที่เป็นอยู่และกำหนดวิธีที่เราคิดเกี่ยวกับภาษาและการแสดงออก อิทธิพลของเธอทำให้เรานึกถึงความสำคัญของการสร้างช่องว่างที่สามารถได้ยินเสียงและความคิดสามารถเติบโตได้
ดังที่เวอร์จิเนียวูลฟ์กล่าวอย่างมีชื่อเสียงว่า "ผู้หญิงทุกคนด้วยกันควรปล่อยให้ดอกไม้ตกอยู่บนหลุมฝังศพของ Aphra Behn ... เพราะเธอเป็นคนที่ได้รับสิทธิ์ในการพูดความคิดของพวกเขา" (วูล์ฟเวอร์จิเนียห้องของตัวเอง 2471 ที่ 65)
Aphra ใช้วิธีการแปลหลายขั้นตอนในการแปลออกแบบมาเพื่อเลียนแบบขั้นตอนที่นักแปลของมนุษย์อาจใช้เมื่อทำงานกับข้อความ นี่คือวิธีที่กระบวนการคลี่:

วิธีการที่มีโครงสร้างนี้ช่วยให้ Aphra สามารถสร้างการแปลที่ไม่เพียง แต่มีความแม่นยำทางภาษา แต่ยังอุดมไปด้วยบริบททำให้เป็นเครื่องมือที่มีค่าสำหรับโครงการขนาดเล็กที่มีเป้าหมายเพื่อเข้าถึงผู้ชมระดับโลกโดยไม่ต้องจ้างทรัพยากรเพื่อจ้างนักแปลมืออาชีพ
คุณสามารถทดสอบ aphra ได้ที่นี่: https://huggingface.co/spaces/davidlms/aphra
ในการเริ่มต้นกับ Aphra ให้ทำตามขั้นตอนเหล่านี้:
ตรวจสอบให้แน่ใจว่าคุณติดตั้งต่อไปนี้ในระบบของคุณ:
git (สำหรับการโคลนนิ่งที่เก็บ)pip (Python Package Installer)ก่อนที่จะดำเนินการกับการกำหนดค่าหรือการติดตั้งคุณต้องโคลนที่เก็บ นี่เป็นขั้นตอนทั่วไปที่จำเป็นสำหรับวิธีการติดตั้งทั้งหมด
โคลนที่เก็บ:
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 หากคุณไม่จำเป็นต้องแยกการพึ่งพาจากโครงการอื่น ๆ มันติดตั้งแพ็คเกจบนระบบของคุณโดยตรงโดยใช้ 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 build -t aphra .หมายเหตุ: หากคุณพบข้อผิดพลาดการอนุญาตในระหว่างการสร้างลองเรียกใช้คำสั่งด้วย
sudo
ตรวจสอบให้แน่ใจว่าสคริปต์รายการมีสิทธิ์ดำเนินการ เรียกใช้คำสั่งต่อไปนี้:
chmod +x entrypoint.shสำหรับผู้ใช้ Windows: คุณสามารถเพิ่มสิทธิ์ดำเนินการโดยใช้ Git Bash หรือ WSL (ระบบย่อย Windows สำหรับ Linux) หากคุณใช้ PowerShell หรือคำสั่ง PROMPT คุณอาจไม่จำเป็นต้องเปลี่ยนการอนุญาต แต่ให้แน่ใจว่าสคริปต์สามารถทำงานได้ในสภาพแวดล้อมของคุณ
เข้าใจคำสั่ง docker run :
-v $(pwd):/workspace : ตัวเลือกนี้ติดตั้งไดเรกทอรีปัจจุบันของคุณ ( $(pwd) ในระบบ UNIX, %cd% ใน Windows) ไปยังไดเรกทอรี /workspace ภายในคอนเทนเนอร์ สิ่งนี้อนุญาตให้คอนเทนเนอร์เข้าถึงไฟล์ในไดเรกทอรีปัจจุบันของคุณaphra : นี่คือชื่อของภาพนักเทียบท่าที่คุณสร้างขึ้นในขั้นตอนที่ 1English 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.tomlinput.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 )สมมติว่าคุณต้องการแปลประโยค "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.mdoutput.md Aphra ได้รับการออกแบบโดยคำนึงถึงความยืดหยุ่นทำให้ง่ายต่อการปรับให้เข้ากับความต้องการเฉพาะของคุณ วิธีที่ง่ายที่สุดในการปรับแต่ง Aphra คือการรักษาโฟลว์การโทรที่กำหนดไว้และแก้ไขพรอมต์ภายในโฟลเดอร์ prompts สำหรับแต่ละขั้นตอน วิธีการนี้ช่วยให้คุณสามารถปรับผลลัพธ์ให้เข้ากับผลลัพธ์ที่คุณต้องการสำหรับกรณีการใช้งานส่วนใหญ่
หากคุณต้องการปรับเปลี่ยนการไหลของตัวเองคุณจะต้องดำดิ่งลงไปในรหัสใน translate.py แม้ว่าสิ่งนี้จะซับซ้อนขึ้นเล็กน้อย แต่ก็เป็นไปได้อย่างสมบูรณ์สำหรับผู้ที่ต้องการขยายการทำงานของ Aphra
นี่คือแนวคิดบางประการสำหรับการขยายเพิ่มเติม:
อย่าลังเลที่จะทดลองและขยาย Aphra ในรูปแบบที่เหมาะกับโครงการและแนวคิดของคุณ
Aphra ได้รับการปล่อยตัวภายใต้ใบอนุญาต MIT คุณมีอิสระที่จะใช้แก้ไขและแจกจ่ายรหัสสำหรับวัตถุประสงค์เชิงพาณิชย์และไม่ใช่เชิงพาณิชย์
ยินดีต้อนรับการมีส่วนร่วมของ Aphra! ไม่ว่าจะเป็นการปรับปรุงรหัสปรับปรุงเอกสารหรือแนะนำคุณสมบัติใหม่อินพุตของคุณมีค่า โปรดตรวจสอบไฟล์ MD ที่มีส่วนร่วมสำหรับแนวทางเกี่ยวกับวิธีการเริ่มต้นและทำให้การบริจาคของคุณนับ