
Skirbi · 3 mei 2023
Usa AI pa generá kòdigo
Programashon ku superpoder
Komo parti di mi esfuerso pa optimalisá mi software i korta kosto di cloud, mi tabata tin ku reemplasá un pida di software di server ineficiente ku algu ku ta usa herment mas robusto (ma fragmentá) ku ta disponibel den Debian GNU/Linux. Lo e modelo di lenguahe GPT4 por duna mi un poko magia di AI? Sigui lesa!
Parti di e servisionan di cloud di mi kompania ta e asina yamá "Lemmid Manager", un sistema integrá pa manehá kontenido ku ta tuma input krudo (teksto, video, imágen) i ta generá websites estátiko, bunita i di rendimentu haltu. Ku e kosto di cloud ta subi masha lihé, mi ta skirbi un parti di e software di nobo pa e ta mas eficiente: ku menos poder di kompiuter pa logra e mesun resultado.
Rotashon di imágen
Posibelmente bo no sa, ma ora bo usa bo telefòn pa tira un foto, e ta warda semper na horizontal (o widescreen). Ora bo tira un foto vertikal (o parat), bo telefòn ta agregá un poko informashon ekstra ku ta warda kon bo a tene e kámara, pa ora bo wak e foto despues, e ta aparesé ku e orientashon korekto. Ta mas lihé pa skirbi un solo pida di informashon (ekstra) ku pa rotá e bits i bytes aktual ku ta forma bo imágen.
Todo esaki ta bon miéntras e foto no sali for di bo telefòn, ma ora un ta subi e foto riba un website, e mester ta optimalisá pa web. E bits i bytes aktual di e imágen mester reflehá e kontenido real di e foto. Despues e imágen por wòrdu optimalisá mas pa velosidat di karga i pa diferente viewport.
Rotashon outomátiko di imágen basá riba EXIF
Kámaranan moderno (di smartphone) ta warda e orientashon den e asina yamá EXIF ku ta bai huntu ku e dato di e imágen. Pa e imágen (bits i bytes) reflehá korektamente e orientashon di e kámara, un mester lesa e dato EXIF i, basá riba e orientashon, aplika un algoritmo di rotashon riba e bits i bytes di e imágen.
Implementashon aktual
E implementashon original (skirbí ku man) ta usa NodeJS i un modulo yamá "lwip" (LightWeight ImageProcessor) pa hasi esaki. Esaki ta funshoná bon den mayoria di situashon, ma ya ku imágennan a bira mas grandi (pa motibu di mas megapixel), e demanda di memoria a subi hopi. E desventaha di hasi tur kos den un solo proseso di NodeJS ta ku e henter kos ta bira un tipo di glotón di memoria, i henter e backend di NodeJS ta sufri ora bo kuminsá apreta e te na su límite ku miler di foto.
Un strategia komun pa optimalisá un kuyo di botella den un pida di software ta pa saka e di e programa prinsipal. Na lugá di prosesá e imágennan direktamente for di NodeJS, mi ke usa herment komun di Debian GNU/Linux (ku un historia probá) pa hasi e rotashon outomátiko. For di NodeJS mi por yama e 'auto_rotator' eksterno i warda te ora e terminá su trabou. Si bo laga un proseso di NodeJS warda riba algun resultado/callback asínkrono, bo ta hasi e disponibel di nobo pa otro petishon.
GPT4 komo generadó di kòdigo
E kos grandi di software liber (liber manera den libertat) ta ku tin hopi blòk di konstrukshon disponibel pa bo usa pa traha bo mes programanan. Mi tabata sa ku Debian GNU/Linux tin herment disponibel ku por hasi e rotashon di imágen basá riba dato EXIF. E reto ta pa krea un solo script ku ta usa e diferente herment aki pa hasi e trabou, i na mes momentu ta duna un poko robustes ora tin eksepshon.
Na lugá di sumergi mi mes den tur e komandonan i opshon di komando ku tin, mi a disidí di pidi GPT4 pa generá un script pa mi ku ta hasi eksaktamente loke mi tabata kier, usando herment standard ku ta disponibel den Debian GNU/Linux:

Den algun sekònde GPT4 di OpenAI a generá un script di bash ku ta usa ImageMagick (un herment gráfiko komun) pa hasi modifikashon basá riba e dato EXIF den un arkivo di imágen dá. E AI a skohe e "exiftool" pa lesa e dato di orientashon i, basá riba e resultado di e herment ei, a kore e komando "convert" di ImageMagick pa aplika e rotashon korekto.

E kòdigo kompleto (ku a wòrdu generá den sekònde) ta bunita komentá, i ta duna bo un bon sintimentu di kiko ta pasando. E ta struktura i optimalisá pa hende lesa.
Dokumentashon
Apart di e kòdigo funshonante, e AI a entregá dokumentashon ku ta splika kon pa usa e software nobo ku a wòrdu generá, inkluso instrukshon di instalashon. Esaki ta algu ku mi sa ku mayoria programadó ta pasa por haltu (dokumentashon téknika ta hopi biaha algu ku ta bin despues).

Konklushon
Den algun minüt mi tabatin un pida di kòdigo ku ta funshoná, ku dokumentashon, ku ta yuda mi resolvé un kuyo di botella den un software di cloud. Esei ta simplemente masha impresionante: e a spar mi tempu (ku mi a usa despues pa skirbi e blog post aki).
Un por solamente puntra kiko efekto modelonan grandi di lenguahe manera ChatGPT/GPT4 lo tin riba e manera kon nos ta traha. Mi ta abraza AI-herment di tur mi kurason: sa kon pa usa nan lo ta esensial den futuro serka (mi ta kere)!
