# ๐ฎ Friday-GPT
> ๐ ์ด ํ๋ก์ ํธ๋ GPT ์ R&R์ ๋ถ์ฌํด์ ๋จ๊ณ ๋ณ๋ก ํ๋ก๊ทธ๋๋ฐ์ ์งํ ์ํค๋ ํ๋ก์ ํธ์
๋๋ค.
> (โ ๏ธ **_Experimental_**) ์ด ํ๋ก์ ํธ๋ ํ์ฌ ์คํ ์ค์ ์์ผ๋ฉฐ, Open A.I ํ ํฐ์ ์๋ชจํ ์ ์์ผ๋ฏ๋ก ์คํ ์ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
[](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.