Skip to content

Paano Ko Ginawa ang Sarili Kong Chatbot nang Walang Coding Experience: Mga Aral na Natutunan

Gumawa ako ng gumaganang chatbot mula sa zero coding knowledge sa loob ng 5 buwan gamit ang GPT API at ChatGPT 4 — ito ang paano ko ginawa at ano ang natutunan ko bilang isang ganap na baguhan.

Update (2026): Ang chatbot na ito ay naging Sydney! Pagkatapos ng maraming iteration, si Sydney ay nakatira na sa /ask/ at nakatuon sa blog content at mga produkto.


Simula nang ilabas ang chatGPT noong nakaraang taon, naka-fascinate ako sa generative AI at gustong galugarin ang pagbuo ng sarili kong chatbot gamit ang available na API. Bilang isang ganap na baguhan na walang kahit anong programming experience, ambisyoso ang layunin na ito. Gayunpaman, determinado akong itulak ang sarili ko upang magkaroon ng hands-on na karanasan sa pagtatrabaho sa mga AI system. Ang aking motivasyon ay ang lumampas sa paggamit lang ng mga tool na ito, at magsimulang bumuo ng mas malalim na pag-unawa kung paano sila ginawa. Nagdesisyon akong gamitin ang aking umiiral na content sa pamamagitan ng paggawa ng chatbot na maaaring sumagot ng mga tanong tungkol sa mga post sa aking blog. Ang pagbuo ng chatbot na ito mula sa simula ay naging isang napakahalagang learning experience, kahit na malayo pa itong puntahan. Sa post na ito, ibabahagi ko ang ilan sa mga pangunahing aral na natutunan ko sa paglalakbay na ito bilang isang coding novice.

Kaya ano ang mga hamon ko?

  • Una sa lahat, hindi ako marunong mag-program. Hindi ko alam ang HTML (maliban sa paggamit ng <h1> o <h2>), lalong hindi ang Python o anumang ibang programming language.
  • Syempre, hindi ko alam kung paano mag-deploy ng application sa cloud, hindi ko narinig ang Docker, Cloud Run, atbp... dati.
    • Hindi ko man lang ma-migrate ang website na ito mula sa Bluehost papunta sa GCP dahil hindi ko alam ang MySQL, virtual instance, atbp...
  • Hindi ko alam ang SSH, public key, private key o kahit ano tulad niyan T.T
  • Wala rin akong background sa machine learning o advanced math.
  • At hindi na rin ako bata :| 40 taong gulang ako, may full-time job.

Pero pagkatapos ng mga 5 buwan, narito ang version 0.1 ng chatbot na ginawa ko, gamit ang OpenAI GPT API at maraming tulong ng ChatGPT 4. Hindi ako nagbibiro kapag sinabi kong version 0.1 dahil sobrang layo pa ito (napakalayo) sa aking inaasahan pero well "gumagana" ito (parang). Ano ang kaya nitong gawin:

  • Kung magtatanong ka sa chatbot tungkol sa mga nakaraang paksa na isinulat ko dati, maaaring i-synthesize ng chatbot ang content mula sa maraming artikulo at bigyan ka ng sagot.
    • Ang puntong ito ay mahalaga sa akin dahil dati nagsulat ako tungkol sa pag-implement ng mga off-the-shelf na solusyon pero ang karaniwang isyu ay ang mga chatbot na iyon ay hindi nag-synthesize ng content sa mga post. Ang chatbot ay "pakiramdam" ay isang search function sa halip na chatbot.
  • Ito ay dinisenyo upang sumagot ng mga tanong tungkol sa aking blog post lang kaya kung tatanungin mo ito tungkol sa ibang mga paksa, malamang na sasabihin nitong hindi.
  • Kasama sa kaalaman nito ang lahat ng post na na-publish ko sa nakalipas na 17 taon, hanggang sa katapusan ng Setyembre 2023. Iyon ay mga 500 post.

Napakaraming bagay na HINDI pa magagawa ng chatbot, tulad ng:

  • Hindi nito maa-recall nang tama ang isang partikular na numero sa isang post na isinulat ko.
  • Hindi nito masasagot nang tama ang mga tanong tungkol sa mga published date.
  • Sure ako na marami itong security issues T.T (malungkot, malungkot, malungkot na mukha)
  • at marami pa

Update Peb 2024:

Available na ang Version 2.1 ng chatbot at maaari mong tingnan ang post tungkol dito "Chatbot v2.10 Unveiled: Elevating User Experience with Enhanced Speed, Scalability, and Simplicity."

Kaya ano ang natutunan ko sa unang bahagi ng paglalakbay na ito?

1. Ang ChatGPT 4 ay kayang gawin ang karamihan ng basic/intermediate na coding tasks

kung alam mo kung ano ang hinahanap mo at maging specific sa iyong mga prompt/context-sharing.

Ang susi dito ay ang malaman kung ano ang ipapagawa sa makina. Kaya nitong gawin "halos lahat" ng mga coding tasks basta ang mga gawain ay sapat na specific. Sinabi kong "halos lahat" nang sadya dahil paulit-ulit itong nabibigo sa pagsunod sa ilang halimbawang ibinigay.

Ang code na gine-generate ng chatGPT 4 ay madalas na modular kaya maaari itong magamit muli sa ibang pagkakataon. Ang makina ay madalas ding naglalagay ng mga partikular na komento sa buong code.

2. Kumuha ng mga pangunahing coding/IT na kurso

Kung nasa posisyon mo ako, hindi mo malalaman kung ano ang hindi mo alam na itatanong. Ilang paraan para malampasan ito:

  • Ipaliwanag ang kabuuang layunin ng proyekto sa chatGPT at hilingin na bigyan ka ng overview ng lahat ng hakbang. Ito ay magbibigay sa iyo ng ideya ng mga lugar na kailangan mong pag-aralan pa
  • Kung basta ka lang susunod sa sinasabi ng chatGPT, maaaring hindi ito magkaka-sense. (Sinubukan ko ito :P)
  • Ang mga pangunahing course na ito ay sobrang nakatulong sa akin. Binigyan nila ako ng malawak (pero hindi malalim) na kaalaman para malaman ko kung paano dapat magkasya ang iba't ibang puzzle.

3. Kumpletuhin ang mga LIBRENG, maikling course na ito tungkol sa Building Systems with the ChatGPT API

Dalawang course tungkol sa chatGPT API ang magliligtas ng maraming oras mo:

Habang ang mga course na ito ay para sa mga baguhan, noong una kong natagpuan ang mga ito ilang buwan na ang nakakaraan, wala akong sapat na pangunahing kaalaman para sundan man lang ang sinasabi. Kaya huminto ako sa panonood pagkatapos ng mga 10 minuto. Pagkatapos na sinubukan kong magtrabaho sa OpenAI API at iba't ibang prompt nang matagal, naipit at naalala ko ang mga course na ito. Sa basic, ibinigay nila sa akin lahat ng sagot na kailangan ko para gumawa ng version 0.1 na ito

Ang prompt engineering course ay partikular na nakatutulong dahil ipinakita nito sa akin kung paano turuan ang chatGPT na mag-output sa isang tiyak na paraan. Halimbawa, hindi ko maiisip ang ganitong uri ng system message nang hindi pinapanood ang course:

Make sure to ask the user relevant follow-up questions."

Ang HTML-compatible bullet point format at mga line break ay nakatutulong para gawing mas madali para sa mga gumagamit ng chatbot kapag mahaba ang mga sagot.

4. Basahin mismo ang aktwal na OpenAI documentation

Tamad ako (:D) kaya sa simula hindi ko binothered na basahin ang documentation mula sa OpenAI. Basta ko lang kinopya at ni-paste ang documentation sa chatGPT at hiniling na gamitin bilang reference at gabayan ako ng aktwal na code. Hindi ito naging maayos at nag-aksaya ako ng maraming oras bago ko nagdesisyong basahin ang documentation ko mismo at pagkatapos ay nagbigay ng mas targeted na mga hiling sa chatGPT

5. Ang ChatGPT ay madaling mawala kapag masyadong mahaba ang usapan o kapag nag-start/stop ka pagkatapos ng ilang oras

Siguro hindi ako dapat magtaka dito dahil tulad ng tao, ang chatGPT ay madaling mawala kapag masyadong mahaba na ang usapan. Ano ang ibig kong sabihin dito?

  • Nagsisimula itong mag-recommend ng mga code na walang sense
  • O hindi maalala ang ibang piraso ng code/payo na kakaibigay lang nito sa akin

Gayundin kapag tumigil ka sa pakikipagtrabaho dito ng ilang oras (o overnight) at bumalik ka, kahit pagkatapos mong hilingin sa chatGPT na basahin ang buong conversation history at kumpirmahin na nagawa na nito, tulad ng tao, kailangan kong magbigay ng mas maraming recent na konteksto at code base ulit. Kung hindi, parang ganap na "nakakalimutan" nito ang maraming detalyeng sinabi nito sa akin dati.

6. Mahal gamitin ang GPT 4 API kaya subukan muna ang GPT 3.5 hangga't maaari

Halimbawa, nag-aksaya ako ng $20 gamit ang GPT 4 API para sa summarization task na magaling gawin ng GPT 3.5. Siguraduhin din na i-test mo muna ang code sa ilang files bago mo "i-unleash" ito sa daan-daang files dahil well, ang GPT API cost ay mabilis mauubos.

7. Ang OpenAI Cookbook ay kaibigan mo

Muli, nagkamali ako na hindi binother (o mas tama, hindi alam) na tingnan ang OpenAI sample cookbook bago pa man. Doon, maaari mong mahanap:

8. Ang context window length ay mahirap i-handle para sa baguhan

Ang iba't ibang GPT model ay may iba't ibang max token limit at ang pag-modify ng code para siguruhin na nanatili ka sa loob ng token limit ay hindi madali para sa mga novice (tulad ko). Kailangan kong gumugol ng napakaraming oras sa bahaging ito dahil marami akong blog post na sobrang haba.

Gayundin para sa chatbot, gusto ko itong mag-synthesize ng content mula sa maraming post bago magbigay ng sagot kaya madalas akong nahaharap sa token limit.

9. Version control, version control at version control

Ito ay marahil sobrang intuitive para sa mga eksperto pero para sa coding novice tulad ko, kailangan ko itong matutunan sa masakit na paraan. At kailangan ko ring matutunan ang tamang git commit frequency na gumagana para sa proyektong ito, dahil ako lang ang tanging contributor/coder.

Konklusyon

Sa buod, ang paglalakbay na ito ng pagbuo ng chatbot bilang baguhan ay nagturo sa akin ng kahalagahan ng pag-aaral ng mga fundamentals, paggamit ng ChatGPT para sa targeted na mga gawain, pag-aaral ng API documentation, at paggamit ng version control. Habang may malaking room pa para sa improvement, mayroon na akong basic na prototype na kayang mag-synthesize ng impormasyon mula sa aking mga blog post para sumagot ng mga tanong. Sa mga susunod na hakbang, ang mga priyoridad ko ay palawakin ang knowledge base ng chatbot para sakupin ang bagong content, pagbutihin ang kakayahan nitong mag-retrieve ng mga tiyak na detalye mula sa mga post, at i-optimize ang mga tugon nito para manatili sa loob ng token limit. Plano ko ring patuloy na pag-level up ng aking mga skill sa mga lugar tulad ng prompt engineering at cloud deployment.

Iyon lang mula sa akin. Patuloy akong mag-update sa mga aral na natutunan at magbabahagi kapag available na ang bagong bersyon.

Nasubukan mo na bang gumawa ng isang bagay gamit ang OpenAI API bilang isang non-developer? Gusto kong marinig kung ano ang pinaka-nakabalakid sa iyo — para sa akin tiyak na ang context window limits at version control :P

Isang linggo pagkatapos

Pagkatapos ng 1 linggo na sprint, nakumpleto ko ang karagdagang mga update sa chatbot. Para basahin pa, pumunta dito "Pag-evolve ng Aking Chatbot: Isang One-Week Sprint Patungo sa Mas Matalinong mga Interaksyon."

Maraming salamat,

Chandler

Ipagpatuloy ang Pagbasa

Ang Journey Ko
Kumonekta
Wika
Mga Preference