# ๐Ÿ”ฎ Friday-GPT > ๐Ÿ“œ ์ด ํ”„๋กœ์ ํŠธ๋Š” GPT ์— R&R์„ ๋ถ€์—ฌํ•ด์„œ ๋‹จ๊ณ„ ๋ณ„๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ ์‹œํ‚ค๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. > (โš ๏ธ **_Experimental_**) ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ˜„์žฌ ์‹คํ—˜ ์ค‘์— ์žˆ์œผ๋ฉฐ, Open A.I ํ† ํฐ์„ ์†Œ๋ชจํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹คํ–‰ ์‹œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
[![Watch the video](https://i.imgur.com/MkCYunz.png)](https://twitter.com/hmartapp/status/1645252545668067328) ## ๐Ÿ’ฌ ํ”„๋กœ์ ํŠธ ์„ค๋ช… > ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ GPT์—๊ฒŒ ์‹œํ‚ค๋˜ ๊ฐ๊ฐ ๋‹จ๊ณ„ ๋ณ„๋กœ A.I์—๊ฒŒ R&R ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. > ๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ Architect -> ๐Ÿ•ต๐Ÿปโ€โ™€๏ธ Tech Evangelist -> (๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Lead -> ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ Junior -> ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€ QA -> ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’ Senior)
### 1. ๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ Architect > ์ตœ์ดˆ ์š”์ฒญ์— ๋”ฐ๋ฅธ ์„ค๊ณ„๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๊ธฐํš์•ˆ์„ 5๊ฐœ ๋ฝ‘์•„๋‚ธ ํ›„ ๊ฐ€์žฅ ๋‚˜์€ ๊ธฐํš์„ ๊ณ ๋ฅด๋ฉฐ, ๊ฐœ๋ฐœ ๊ธฐํš ํ€„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์•„์งˆ๋•Œ๊นŒ์ง€ ์ตœ๋Œ€ 10ํšŒ ๊ธฐํš์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฒด์ ์œผ๋กœ ๊ฐœ์„  ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•ด์„œ ๊ธฐํš์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ### 2. ๐Ÿ•ต๐Ÿปโ€โ™€๏ธ Tech Evangelist > ์•„ํ‚คํ…ํŠธ๊ฐ€ ์™„์„ฑํ•œ ๊ธฐํš์•ˆ์„ ํ† ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ ์ŠคํŽ™ ๋ฐ ์ฐธ์กฐ ๊ธฐ์ˆ  ๋ชฉ๋ก์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ### 3. ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Lead Programmer > ์ตœ์ดˆ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ํ•˜๊ณ  ์‹ค์ œ ์ด์šฉ์ž์—๊ฒŒ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•œ ๋‹ค์Œ ์š”์ฒญ์‚ฌํ•ญ์— ๊ฐœ๋ฐœ ์‚ฌํ•ญ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ### 4. ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ Junior Programmer > ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ฐœ๋ฐœ๋œ ๊ธฐ๋Šฅ์„ ์•ˆ์ •์ ์ด๊ฒŒ ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ๋ชจ์ƒ‰ํ•ด์„œ ๋ณด์™„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ### 5. ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€ Quality Assurance > ์‹ค์ œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„๋ณด๊ณ  ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์™€ ์›์ธ ๋ฐ ํ•ด๊ฒฐ๋ฒ•์„ ๋ถ„์„ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ### 6. ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’ Senior Programmer > ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐœ์ƒ๋œ ์˜ค๋ฅ˜์™€ QA ๋ณด๊ณ ๋ฅผ ์ฝ์€ ํ›„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ์—๋Ÿฌ ํ•ด๊ฒฐ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
### **๋ฆฌํŒฉํ† ๋ง ์ ˆ์ฐจ** > Lead ๋ถ€ํ„ฐ Senior ๊นŒ์ง€์˜ ๊ณผ์ •์€ ์‹ค์ œ ํ…Œ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ•  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. - (ํ˜„์žฌ Junior, QA, Senior ๋‹จ๊ณ„๋Š” ๊ฐœ๋ฐœ ์ค‘์— ์žˆ์Šต๋‹ˆ๋‹ค.)
## ๐Ÿ’ฌ ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ๋ฐฉ๋ฒ• > ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋ก ํ•œ ํ›„ ์ธ์Šคํ†จ ํ•ด์ฃผ์„ธ์š”. (์ด ํ”„๋กœ์ ํŠธ์—๋Š” Node.JS ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.) ```bash git clone https://github.com/hmmhmmhm/friday-gpt cd ./friday-gpt npm install ``` > .env ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ ์ƒ๋‹จ์— ์ƒ์„ฑํ•œ ํ›„ ์•„๋ž˜ ๋‚ด์šฉ์„ ์ฒด์›Œ์ค๋‹ˆ๋‹ค. > **_OPENAI_API_KEY_** ๋Š” ๋™์ž‘์— ํ•„์ˆ˜์ ์ด๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋ฐœ๊ธ‰ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Open A.I Get API keys](https://platform.openai.com/account/api-keys) > **_AZURE_SPEECH_KEY_** ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด TTS ๋ฅผ ์ด์šฉํ•ด์„œ ์ง„ํ–‰๊ณผ์ •์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. (์ •๋ณด๋ฅผ ๋„ฃ์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.) > **\*AZURE\_\*\*** ๊ด€๋ จ ์ž…๋ ฅ ๊ฐ’์€ ์—ฌ๊ธฐ์„œ ๋ฐœ๊ธ‰ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Azure Speech Services](https://portal.azure.com/?quickstart=true#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices) ```bash OPENAI_CHAT_MODEL=gpt-3.5-turbo # ๋˜๋Š” gpt-4 OPENAI_API_KEY= AZURE_SPEECH_KEY= AZURE_SPEECH_REGION= AZURE_SPEECH_VOICE=ko-KR-SeoHyeonNeural ``` > src/input.ts ํŒŒ์ผ์„ ์—ด์–ด์„œ userRequest ๋ณ€์ˆ˜์— ์›ํ•˜๋Š” ๊ฐœ๋ฐœ ๋ฐฉํ–ฅ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ```ts export const userRequest = '๋ฌธ์ž์—ด๋กœ ๋‘ ๊ฐœ์˜ ์ˆซ์ž ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์•„์„œ ๋งˆ์น˜ ์‚ฌ๋žŒ์ด ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ฒ˜๋Ÿผ ๊ฐ ๋‹จ์œ„์˜ ์ˆซ์ž๋ฅผ ๋น„๊ตํ•ด์„œ ๋ฌด์ œํ•œ ๊ธธ์ด๋กœ ์‚ฌ์น™์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” Typescript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ค˜' ``` > ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์„œ A.I์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ``` npm run dev ``` > ๋˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปค๋งจ๋“œ๋ผ์ธ์—์„œ prompt๋ฅผ ๋ถ™์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ``` npm run dev ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ˆœ์—ด๋“ค์„ ์ œ๊ณตํ•ด์ฃผ๋Š” Typescript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ด ์ค˜ ``` > ๋ชจ๋“  ๊ฒฐ๊ณผํŒŒ์ผ์€ result ํด๋” ์•ˆ์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
## โœจ Special Thanks - **_[@antegral](https://github.com/antegral)_** ํ”„๋ผ์ด๋ฐ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด GPT-4 ํ…Œ์ŠคํŠธ ๊ณ„์ •์„ ๊ณต์œ ํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!
## โœ… ๋ผ์ด์„ผ์Šค > MIT Licensed.