האתר הזה מתורגם אוטומטית למספר שפות באמצעות תוכנה שפותחה על ידי Kohei Koyanagi. למידע המדויק ביותר, עיינו במקור ב־ אנגלית .

איך הבלוג הזה מתורגם ל-42 שפות

לבלוג של Splync יש 42 שפות

זהו המאמר ה-23 בבלוג שלי עבור Splync, עוקב תקציב משותף לזוגות, חברים ומשפחות. אולי תוהים איך אני מפרסם כל פוסט ב-42 שפות למרות שאני מהנדס עצמאי. כפי שההצהרה בראש כל מאמר מציינת, האתר הזה מתורגם אוטומטית למספר שפות בעזרת תוכנה שפיתחתי בעצמי. כדי להבהיר: אני לא כותב אפילו משפט אחד בשפה אחרת מלבד אנגלית. בגלל זה, אני מבקש מהקוראים להתייחס לגרסה האנגלית המקורית כשהדיוק במשמעות הוא באמת חשוב. עם זאת, לאחר הרבה ניסיונות ושיפורים בעמוד התרגום, אני מאמין שאיכות התרגום הכוללת היא די טובה. במאמר הזה, אני אשתף במה שהתוכנה שלי עושה כדי להפוך את הבלוג של Splync לרב-לשוני.

Python ו-OpenAI API עושים את זה יחד

אני תמיד מתחיל בכתיבת כל מאמר באנגלית פשוטה, כולל המטא-דאטה הקשורה ל-SEO. אחרי זה, הסקריפט ב-Python שלי שולח את הטקסט האנגלי ל-OpenAI API, יחד עם הנחיה וקובץ עזר קטן. בשרתים של OpenAI, ChatGPT-4o קורא את הבקשה ומחזיר את המאמר המתורגם - למשל, לגרסה הערבית - בפורמט JSON. ברגע שה-MacBook שלי מקבל את התרגום, הסקריפט שולח מיד בקשה נוספת, הפעם עבור בנגלית. הסקריפט עובר אוטומטית על כל 42 השפות היעדיות. בסוף התהליך, המחשב שלי מחזיק 42 קבצי JSON מתורגמים. סקריפט Python אחר מטמיע כל תרגום לתוך תבנית HTML ויוצר 42 קבצי HTML בפחות משנייה. כל הקבצים מועלים לשרת שבו הבלוג הזה מתארח, וכל גרסת שפה ממוקמת בתיקייה משלה. לבסוף, סקריפט צד שרת ב-Python מעדכן את אינדקס המאמרים ואת הקישורים ל"פוסט הבא" כך שהניווט בכל שפה יישאר עקבי. עם המאמר האנגלי המקורי כתוב בטקסט פשוט, כל התהליך לוקח בדרך כלל 5 דקות או הרבה פחות. כשאני צריך לבצע שינויים, אני מעדכן מספר קבצי HTML בו זמנית באמצעות סקריפטים צד שרת ב-Python.

מה זה API

אם אינכם מכירים את המונחים הטכניים, אולי תתהו איך המחשב שלי "מדבר" עם השרת של OpenAI. התשובה היא משהו שנקרא API, ממשק תכנות יישומים. אפשר לחשוב על API כמו חלון שליח בין שני תוכנות: תוכנה אחת שולחת בקשה, והשנייה מחזירה תגובה. לדוגמה, הסקריפט שלי ב-Python שולח הודעה כמו "בבקשה תתרגם את המאמר הזה לגרמנית". OpenAI מקבלים את ההודעה דרך ה-API, מכינים את התרגום, ושולחים חזרה את התוצאה. זה עובד כמו להזמין במסעדה: אתה אומר למלצר מה אתה רוצה, המטבח מכין, והמלצר מחזיר לשולחן שלך. ולמה צריך מלצר בכלל? כי אתה לא נכנס למטבח או מדבר ישר עם השף — אתה לא יודע איך המטבח עובד, וגם לא צריך לדעת. אתה יכול לומר למלצר "אפשר לקבל צ'יזבורגר?", והמלצר יכול לצעוק "מוכן! T21, צ'יוואווה!" בפורמט שונה לגמרי. API משחק את אותו תפקיד. הוא מחבר בין שני מערכות שונות בלי שהן צריכות להבין את השפה הפנימית או זרימת העבודה של השנייה.

למה אני צריך את OpenAI API

עכשיו, כשאנחנו יודעים מה זה API, הנה למה אני באמת מסתמך עליו לבלוג הזה. מבחינה מעשית, אני כן יודע איך "לדבר" עם ChatGPT בעצמי — אבל יש לי 42 שפות לעבד. לקרוא למלצר 42 פעמים יהיה מעייף (התוכנית מדלגת על תרגום אנגלית לאנגלית, אבל עדיין ממירה את הטקסט ל-JSON). השימוש ב-OpenAI API מאפשר לסקריפט ה-Python שלי לשלוח את כל הבקשות האלו באופן אוטומטי, מה שחוסך לי עבודה חוזרת כך שאוכל להתמקד בדברים אחרים. אני מפתח עצמאי, אז אני צריך לנצל את זמני ביעילות המרבית. כל פעם שאני רואה פעילות שחוזרת על עצמה ויש לה כללים ברורים, אני מבצע אוטומציה. התוצאה היא בדרך כלל תהליך מהיר יותר פי מיליון וללא טעויות. זו הסיבה שהאוטומציה דרך API היא חיונית — היא מאפשרת לסקריפט שלי לבצע את כל 42 ה"הזמנות" באופן מידי ואמין.

למה 42 שפות

מבחינה טכנית, אני יכול להוסיף עוד הרבה שפות; זה פשוט ייקח כמה דקות נוספות בזמן שאני עושה כלים. אבל אני אישית אוהב את המספר 42, ה"תשובה לשאלה האולטימטיבית על החיים, היקום וכל השאר" מהספר של דאגלס אדמס. מעבר לחיבתי למספר 42, הוספת שפות זניחות מאוד יכולה להיות מסוכנת, כי תרגום AI עשוי להפוך לפחות אמין עבור שפות עם נתוני אימון מוגבלים.

טמפרטורת ChatGPT 4o

כשניסיתי לראשונה את גישת התרגום הרב לשונית הזו, התוצאות היו סבירות אך לא מושלמות. חלק מהמשפטים תורגמו באופן לא מדויק, היו ליטרליים מדי או מטעים במרומז בשפות מסוימות. דאגתי גם מהאפשרות ליצור ביטויים לא ראויים או לא רגישים בהקשרים תרבותיים ספציפיים. וכמובן, לא רציתי שהתרגומים שלי יישמעו רובוטיים או מכניים. אחד הגורמים המרכזיים לאיכות התרגום הוא הגדרת הטמפרטורה — פרמטר ששולט כמה "יצירתי" או "מחמיר" ה-AI צריך להיות. טמפרטורה גבוהה הופכת את ה-AI ליותר דמיוני, אך גם פחות צפוי. טמפרטורה נמוכה גורמת לו להישאר קרוב למשמעות המקורית, אך לפעמים יכולה להרגיש נוקשה. לקח הרבה ניסוי וטעייה למצוא את האיזון הנכון: נמוך מספיק כדי להבטיח דיוק, אך לא כל כך נמוך שהטקסט יהפוך חסר חיים. לאחר ניסויים רבים, הרגשתי שטמפרטורה = 0.8 הייתה ההתאמה הטובה ביותר לצרכי הבלוג הזה: מספיק מדויק כדי להישאר נאמן למקור האנגלי, אך גם גמיש מספיק כדי להישמע טבעי בשפות אחרות.

ChatGPT 5.x לא תומך בטמפרטורה

הדגמים החדשים כמו ChatGPT 5 ו-5.1 כבר לא תומכים בהגדרות טמפרטורה כלל — הפרמטר הוסר והוחלף במושגים כמו חשיבה ומאמץ, שמשפיעים על איך המודל חושב ולא על כמה "יצירתי" הוא הופך. במילים אחרות, ChatGPT 4o נתן לי חוגה פיזית שאפשר היה לסובב כדי לכוונן את סגנון התרגום, אבל משפחת 5.x עוקבת אחרי פילוסופיה שונה לחלוטין. אם תבקשו בצורה מזדמנת מהמודל החדש ביותר "לתרגם עם טמפרטורה = 0.8", הוא עשוי לנסות להתנהג כאילו ההגדרה הזו עדיין קיימת, אך בפנים הפרמטר נעלם. המודל פשוט מתקרב לכוונה. כאשר OpenAI ממשיכים לעדכן את המודלים שלהם, אולי אעדכן את קו התרגום שלי יום אחד. נכון לעכשיו, ChatGPT 4o נשאר הבחירה שלי לתרגומים רב-לשוניים — לא רק כי הוא מבין הקשר היטב בין שפות רבות, אלא גם כי תמחור ה-API שלו סביר למפתח עצמאי כמוני. למעשה, ייתכן ש4o ייזכר כאחד הדגמים האהובים ביותר בהיסטוריה של OpenAI.

העובדים של OpenAI API

דבר מדהים ב-OpenAI API — בהשוואה לשימוש ב-ChatGPT ישירות בדפדפן — הוא שאתה יכול להשתמש ביותר מעובד ChatGPT אחד בו זמנית. כשאני שולח בקשות תרגום ל-42 שפות, אני לא שולח אותן אחת אחרי השנייה בתור איטי. במקום זאת, ה-API יכול לעבד בקשות רבות במקביל, כאילו שכרתי פתאום חדר מלא במתרגמים שמתחילים לעבוד בבת אחת. הסקריפט שלי ב-Python מנהל את זרימת העבודה כמו קו ייצור קטן: הוא מכין את המאמר באנגלית, שולח את הבקשות, ממתין לתגובות ומעבד את התוצאות לקבצי JSON. בינתיים, השרתים של OpenAI מפעילים מספר מופעים מודליים במקביל, כל אחד מתרגם שפה שונה במקביל. זה משהו שהאתר או האפליקציה של ChatGPT לא יכולים לעשות — הממשקים הללו נותנים לך מודל אחד, שיחה אחת, משימה אחת בכל פעם. אבל עם ה-API, אתה יכול להגדיל את עומס העבודה שלך ככל שהתסריט שלך מאפשר. עבור מפתח עצמאי כמוני, זה מרגיש כמו שיש צוות קטן של עוזרים חכמים וללא אגו. זה תלוי חלקית במהירות האינטרנט, אך בדרך כלל אני מגדיר עובדים = 12.

מה שאני עושה כדי לרב לשונית את הבלוג שלי זה לשטוף כלים

בעבר עבדתי כשוטף כלים בקפיטריה הסטודנטיאלית כאשר למדתי מתמטיקה באוניברסיטת קיוטו. בעוד שהשכר היה כ-5 דולר לשעה, תמיד אהבתי עבודה ידנית חוזרת אחרי שביליתי מספר שעות — או לפעמים כמה ימים — בריכוז אינטלקטואלי עמוק. מאוחר יותר, כאשר עבדתי במפעל שום בהוקאידו, תפקידי היה פשוט להבריק אלפי ראשי שום לבנים כדי שייראו מבריקים יותר על המסוע. שמונה שעות ביום — ריכוז מלא, קצב יציב. זה היה מספק בצורה מוזרה. עכשיו, מתוך הזיכרונות האלה, אני עוסק בעבודה אינטלקטואלית — כתיבת תוכנה, עיצוב מערכות, כתיבת המאמרים האלה. אבל האיזון לא השתנה. אם תשאלו אותי איך אני מצליח לפרסם מאמר בלוג ב-42 שפות בעצמי, התשובה הכנה היא: אני עושה את זה על ידי שטיפת כלים.