Tämä sivusto on käännetty useille kielille automaattisesti Kohei Koyanagin kehittämällä ohjelmistolla. Tarkkuuden vuoksi tutustu alkuperäiseen versioon englanti .

Kuinka tämä blogi käännetään 42 kielelle

Splync-blogilla on 42 kieltä

Tämä on 23. artikkelini Splync-blogissa, joka on parien, ystävien ja perheiden yhteinen budjetinseuranta. Saatat ihmetellä, miten julkaisen jokaisen tekstin 42 kielellä, vaikka olen yksittäinen insinööri. Kuten jokaisen artikkelin alussa mainitaan, tämä sivusto käännetään automaattisesti useille kielille itse kehittämälläni ohjelmistolla. Selvennykseksi: en kirjoita käsin yhtäkään lausetta muulla kielellä kuin englanniksi. Siksi pyydänkin lukijoita viittaamaan alkuperäiseen englanninkieliseen versioon, kun merkityksen tarkkuus on tärkeää. Silti monien yritysten ja erehdysten jälkeen uskon, että käännösten laatu on melko hyvä. Tässä artikkelissa kerron, miten ohjelmistoni tekee Splync-blogista monikielisen.

Python ja OpenAI API tekevät sen yhdessä

Aloitan aina kirjoittamalla jokaisen artikkelin selkeällä englannilla, mukaan lukien SEO-metadata. Tämän jälkeen Python-skripti lähettää englanninkielisen tekstin OpenAI API:lle, mukana kehotus ja pieni viitetiedosto. OpenAIn palvelimilla ChatGPT-4o käsittelee pyynnön ja palauttaa käännetyn artikkelin - esimerkiksi arabiaksi - JSON-muodossa. Kun MacBookini vastaanottaa käännöksen, skripti lähettää heti uuden pyynnön, tällä kertaa bengaliksi. Skripti kiertää automaattisesti kaikki 42 kohdekieltä läpi. Prosessin lopussa tietokoneellani on 42 käännettyä JSON-tiedostoa. Toinen Python-skripti liittää käännökset HTML-mallipohjaan ja luo 42 HTML-tiedostoa alle sekunnissa. Kaikki tiedostot ladataan palvelimelle, jossa blogia isännöidään, ja jokainen kieliversio sijoitetaan omaan hakemistoonsa. Lopuksi palvelinpuolen Python-skripti päivittää artikkeliluettelon ja "Seuraava artikkeli" -linkit, jotta jokaisen kielen navigaatio pysyy johdonmukaisena. Alkuperäinen englanninkielinen artikkeli kirjoitettuna pelkkänä tekstinä, koko prosessi kestää yleensä 5 minuuttia tai vähemmän. Kun tarvitsen muutoksia, päivitän useita HTML-tiedostoja samanaikaisesti palvelinpuolen Python-skripteillä.

Mikä on API

Jos tekniset termit eivät ole tuttuja, saatat ihmetellä, miten tietokoneeni "keskustelee" OpenAIn palvelimen kanssa. Vastaus on API, Application Programming Interface. Voit ajatella APIa viestintäikkunana kahden ohjelman välillä: toinen ohjelma lähettää pyynnön ja toinen vastauksen. Esimerkiksi, Python-skriptini lähettää viestin: "Olkaa hyvä ja kääntäkää tämä artikkeli saksaksi." OpenAI vastaanottaa viestin API:n kautta, valmistaa käännöksen ja lähettää tuloksen takaisin. Se toimii kuten tilauksen tekeminen ravintolassa: kerrot tarjoilijalle, mitä haluat, keittiö valmistaa sen, ja tarjoilija tuo sen takaisin pöytääsi. Ja miksi tarvitset tarjoilijaa? Koska et mene keittiöön tai puhu suoraan kokille — et tiedä, miten keittiö toimii, eikä tarvitsekaan. Saatat sanoa tarjoilijalle: "Voinko saada juustohampurilaisen?" ja tarjoilija saattaa huutaa: "Tilaus valmis! T21, Chihuahua!" täysin eri muodossa. API toimii samalla tavalla. Se yhdistää kaksi eri järjestelmää ilman, että niiden tarvitsee ymmärtää toistensa sisäisiä kieliä tai työnkulkuja.

Miksi tarvitsen OpenAI API:n

Nyt kun tiedämme, mikä API on, kerron miksi käytän sitä blogissani. Käytännössä osaan "keskustella" ChatGPT:n kanssa itsekin — mutta käsiteltävänä on 42 kieltä. Soittaminen tarjoilijalle 42 kertaa olisi työlästä (ohjelma ohittaa englannista englantiin kääntämisen, mutta muuntaa tekstin silti JSON-muotoon). OpenAI API:n avulla Python-skriptini voi lähettää kaikki pyynnöt automaattisesti, mikä säästää minua toistuvalta työltä, jotta voin keskittyä muihin asioihin. Olen yksittäinen kehittäjä, joten minun on käytettävä aikani mahdollisimman tehokkaasti. Kun näen toistuvan ja selkeät säännöt omaavan tehtävän, automatisoin sen. Tuloksena on yleensä miljoona kertaa nopeampi ja täysin virheetön prosessi. Siksi API:n kautta tapahtuva automaatio on olennainen — se mahdollistaa kaikkien 42 "tilauksen" tekemisen heti ja luotettavasti.

Miksi 42 kieltä

Teknisesti voisin lisätä paljon enemmän kieliä; se veisi vain muutaman minuutin lisää, kun teen tiskit. Mutta pidän henkilökohtaisesti numerosta 42, joka on "Elämän, maailmankaikkeuden ja kaiken perimmäinen vastaus" Douglas Adamsin kirjasta. Kiintymyksen lisäksi numeroon 42, hyvin pienten kielten lisääminen voi olla riskialtista, koska AI-käännös saattaa olla vähemmän luotettava kielillä, joilla on rajallisesti harjoitusdataa.

ChatGPT 4o:n lämpötila

Kun aloitin kokeilut monikielisellä käännöstavalla, tulokset olivat hyviä mutta eivät täydellisiä. Joitakin lauseita käännettiin väärin, liian kirjaimellisesti tai hienovaraisesti harhaanjohtavasti tietyillä kielillä. Olin myös huolissani, että voisin vahingossa luoda ilmaisuita, jotka saattaisivat olla sopimattomia tai loukkaavia tietyissä kulttuureissa. Ja tietysti en halunnut, että käännökseni kuulostavat robottimaisilta tai mekaanisilta. Yksi käännöksen laadun avaintekijöistä on lämpötila-asetus — parametri, joka säätelee, kuinka "luova" tai "tiukka" AI:n tulisi olla. Korkea lämpötila tekee AI:stä mielikuvituksellisemman mutta myös arvaamattomamman. Matala lämpötila pitää sen lähellä alkuperäistä merkitystä, mutta voi joskus tuntua jäykältä. Kesti paljon yritystä ja erehdystä löytää oikea tasapaino: tarpeeksi matala varmistamaan tarkkuus, mutta ei niin matala, että tekstistä tulisi eloton. Monien kokeilujen jälkeen tunsin, että lämpötila = 0.8 oli paras vaihtoehto blogini tarpeisiin: tarpeeksi tarkka pysymään uskollisena englannin alkuperäiselle merkitykselle, mutta tarpeeksi joustava kuulostamaan luonnolliselta muilla kielillä.

ChatGPT 5.x ei tue lämpötilaa

Uudemmat mallit, kuten ChatGPT 5 ja 5.1, eivät enää tue lämpötila-asetuksia lainkaan — parametri on poistettu ja korvattu käsitteillä kuten päättely ja vaivannäkö, jotka vaikuttavat siihen, miten malli ajattelee sen sijaan, että kuinka "luova" se on. Toisin sanoen, ChatGPT 4o antoi minulle fyysisen säätimen, jolla saatoin hienosäätää käännöstyylin, mutta 5.x-perhe noudattaa kokonaan toisenlaista filosofiaa. Jos pyydät uudempaa mallia "kääntämään tämän lämpötilalla = 0.8", se saattaa yrittää toimia, ikään kuin tällainen asetus yhä olisi olemassa, mutta sisäisesti parametri on poissa. Malli vain jäljittelee aikomusta. Kun OpenAI jatkaa mallien päivittämistä, saatan joskus muokata käännöspipelineani. Tällä hetkellä ChatGPT 4o on valintani monikielisiin käännöksiin — ei vain siksi, että se ymmärtää kontekstin hyvin monissa kielissä, vaan myös sen API-hinnoittelun takia, mikä on kohtuullinen yksittäiselle kehittäjälle kuten minä. Itse asiassa, 4o voi jäädä historiankirjoihin yhtenä OpenAI:n rakastetuimmista malleista.

OpenAI API:n työntekijät

Yksi mahtava asia OpenAI API:ssa — verrattuna ChatGPT:n käyttöön suoraan selaimessa — on, että voit käyttää useampaa kuin yhtä ChatGPT "työntekijää" samanaikaisesti. Kun lähetän käännöspyyntöjä 42 kielelle, en lähetä niitä yksi kerrallaan hitaassa jonossa. Sen sijaan API voi prosessoida monta pyyntöä rinnakkain, ikään kuin olisin yhtäkkiä palkannut huoneellisen kääntäjiä, jotka kaikki alkavat työskennellä yhtä aikaa. Python-skriptini käsittelee työnkulun kuin pieni tuotantolinja: se valmistelee englanninkielisen artikkelin, lähettää pyynnöt, odottaa vastauksia ja prosessoi tulokset JSON-tiedostoiksi. Samaan aikaan OpenAI:n palvelimet ajavat monta malliesimerkkiä samanaikaisesti, kukin kääntäen eri kieltä rinnakkain. Tämä on jotain, mitä ChatGPT:n verkkosivusto tai sovellus ei voi tehdä — ne antavat sinulle yhden mallin, yhden keskustelun, yhden tehtävän kerrallaan. Mutta API:n avulla voit laajentaa työtaakkaasi niin laajasti kuin skriptisi sallii. Yksittäiselle kehittäjälle kuten minä, tämä tuntuu siltä kuin minulla olisi pieni tiimi älykkäimpiä ja itsetunnottomia avustajia. Se riippuu osittain internet-nopeudesta, mutta yleensä asetan työntekijät = 12.

Kuinka monikielistän blogini - tiskaamalla

Työskentelin aiemmin tiskaajana opiskelijaruokalassa, kun opiskelin matematiikkaa Kioton yliopistossa. Vaikka palkka oli noin 5 USD tunnissa, olen aina pitänyt toistuvasta käsityöstä sen jälkeen, kun olen viettänyt useita tunteja — tai joskus useita päiviä — syvässä älyllisessä keskittymisessä. Myöhemmin, kun työskentelin valkosipulitehtaassa Hokkaidossa, työni oli yksinkertaisesti kiillottaa tuhansia valkosipulinkynsiä, jotta ne näyttäisivät kirkkaammilta liukuhihnalla. Kahdeksan tuntia päivässä — täysi keskittyminen, tasainen rytmi. Se oli kummallisen tyydyttävää. Nyt, kun muistelen noita aikoja, teen tällä hetkellä älyllistä työtä — kirjoitan ohjelmistoja, suunnittelen järjestelmiä, sävellän näitä artikkeleita. Mutta tasapaino ei ole muuttunut. Jos kysyt, miten onnistun julkaisemaan blogiartikkelin 42 kielellä itse, rehellinen vastaus on: teen sen tiskaamalla.