์ฑGPT API X ๊ตฌ๊ธ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ก ์ ๋ฌด ์๋ํํ๊ธฐ
์ฑGPT API X ๊ตฌ๊ธ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ก ์ ๋ฌด ์๋ํํ๊ธฐ ๊ด๋ จ
์ค๋๋ ๋น ๋ฅด๊ฒ ๋ณํํ๋ ์ ๋ฌด ํ๊ฒฝ์ ๋ฐ๋ผ ํจ์จ์ฑ์ ๊ทน๋ํํ๊ณ ๋ฐ๋ณต ์์ ์ ์ค์ด๋ ์๋ํ๊ฐ ์ ์ ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค. ํนํ, ๊ฐ๋ฐ์์ ๋น๊ฐ๋ฐ์ ๋ชจ๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ ๋๊ตฌ๋ฅผ ํ์ฉํ ์๋ํ๋ ์์ฐ์ฑ์ ํฌ๊ฒ ์ฌ๋ ค์ค๋๋ค.
ํํธ ์๋ํ์ ํจ๊ป ์ฝํ ์ธ ์ ์์ฐ๊ณผ ๋ถ์์ ๊ด์ ์์ ์์ฑํ AI๊ฐ ํ์ฉ๋๊ธฐ ์์ํ์ต๋๋ค. ๋ํ์ ์ผ๋ก ๋ฌธ๋งฅ์ ์ดํดํ๋ฉฐ ์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ถ๊ฐ์ ์ธ ํ ์คํธ ํํ์ ์ ๋ณด๋ฅผ ์์ฐํ๋ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM) ๊ธฐ์ ์ด ๋ ์ฌ๋์ฃ . ์ด ๋๊ตฌ ๋ํ ๊ฐ๋ฐ์๋ค์ด ์ฝ๊ฒ ์ฌ์ฉํ ์์ค์ผ๋ก ๋ฐ์ ํ์ต๋๋ค.
์ด๋ฐ ๋ณํ์ ๋ง์ถฐ ์ด๋ฒ ๊ธ์์๋ GPT ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ์ฑGPT API์ ๊ตฌ๊ธ ์ฑ์ค ์คํฌ๋ฆฝํธ(Google Apps Script, ์ดํ ์ฑ์ค ์คํฌ๋ฆฝํธ)๋ฅผ ๊ฒฐํฉํ ์๋ํ ์์ ๋ฅผ ๋ค๋ฃจ๋ ค๊ณ ํฉ๋๋ค. ์์ ์์ ์ฌ์ฉํ ๋ ๊ฐ์ง ๊ธฐ์ ๋ชจ๋ ๋น๊ต์ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ง๋ง, ๊ฐ๋ ฅํ ์๋ํ ๋๊ตฌ์ ๋๋ค. ๊ธฐ์ ์ด๋ ์กฐ์ง, ์ปค๋ฎค๋ํฐ ๋ฑ์์ ๊ตฌ๊ธ์ด ์ ๊ณตํ๋ ์๋น์ค ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฌด๋ฅผ ์๋ํํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค.
์ฑGPT API
์ฑGPT API๋ ๊ฐ๋ฐ์๊ฐ OpenAI์์ ๋ง๋ ๊ฐ๋ ฅํ ์ธ์ด ๋ชจ๋ธ(GPT-4, GPT-4o, GPT-4o mini ๋ฑ)์ ์์ ์ ์ ํ๋ฆฌ์ผ์ด์ , ์ ํ ๋๋ ์๋น์ค์ ํตํฉํ ์ ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ API ์๋น์ค์ ๋๋ค. RESTful API๋ก HTTP ์์ฒญ์ ํตํด OpenAI์ ๋ชจ๋ธ๊ณผ ์ํธ์์ฉํ๋ฉฐ ํ ์คํธ ๊ธฐ๋ฐ ์ ๋ ฅ์ ์ ๋ฌํ๊ณ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ต๋๋ค.
์ด API๋ OpenAI ๊ฐ๋ฐ์ ํ๋ซํผ์ ํตํด ์ ๊ณต๋ฉ๋๋ค. ํด๋น ํ๋ซํผ์์๋ ์ฑGPT API๋ฅผ ๋น๋กฏํ ์ฌ๋ฌ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋ฆฌ์์ค๋ฅผ ํจ๊ป ์ ๊ณตํฉ๋๋ค. API ๋ฌธ์, ์ํ ์ฝ๋, ํํ ๋ฆฌ์ผ, ๋ฒ ์คํธ ํ๋ํฐ์ค, SDK ๋ฑ ๊ฐ๋ฐ์๊ฐ OpenAI์ ์๋น์ค๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ํ์ฉํ๋๋ก ๋๋ ๋ค์ํ ํ๊ฒฝ์ด ์กด์ฌํฉ๋๋ค. ํ๋ซํผ์์ ํค๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ , ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๋ฉฐ, ๋ค์ํ ํ์ต ์๋ฃ๋ก API๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
OpenAI์ AI ๋ชจ๋ธ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ธ๊ฐ์ฒ๋ผ ์์ฐ์ค๋ฌ์ด ํ ์คํธ๋ฅผ ์ดํดํ๊ณ ์์ฑํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฐ๋ผ์ ์ฑ๋ด, ์ฝํ ์ธ ์์ฑ, ๋ฒ์ญ, ์์ฝ ๋ฑ ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ(NLP) ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ์ผ ์ ์์ต๋๋ค.
์ฑ์ค ์คํฌ๋ฆฝํธ
์ฑ์ค ์คํฌ๋ฆฝํธ๋ ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์์ ์คํฌ๋ฆฝํธ ์ธ์ด์ ๋๋ค. ๊ตฌ๊ธ ์คํ๋ ๋์ํธ, ๊ตฌ๊ธ ๋ฌธ์, ๊ตฌ๊ธ ๋๋ผ์ด๋ธ, ์ง๋ฉ์ผ(Gmail)๊ณผ ๊ฐ์ ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค(์ G Suite) ์ฑ๋ค์ ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ์์ ์ ์๋ํํ๋๋ก ๋์์ค๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, ๊ตฌ๊ธ ์๋ฒ์์ ์คํ๋๋ฏ๋ก ๋ณ๋ ์ค์น ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฑ์ค ์คํฌ๋ฆฝํธ์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด๋ฉ์ผ ๋ฐ์ก, ๋ณด๊ณ ์ ์์ฑ, ๊ตฌ๊ธ ์คํ๋ ๋์ํธ ๊ฐ ๋ฐ์ดํฐ ๊ฐฑ์ ์ฒ๋ผ ์์ฃผ ๋ฐ๋ณตํ๋ ์์ ์ ์๋ํํ ์ ์์ต๋๋ค.
- ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ํจ์๋ฅผ ๋์ด, ํน์ ๊ณ์ฐ์ด๋ ์์ ์ ์ํํ๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค์ ์ฑ๊ณผ ๊ตฌ๊ธ ์ง๋, ์ ํ๋ธ, ๊ตฌ๊ธ ์บ๋ฆฐ๋ ๋ฑ ๋ค๋ฅธ ๊ตฌ๊ธ ์๋น์ค, ๋๋ ์๋ํํฐ API๊น์ง ํตํฉํ ๊ฐ๋ ฅํ ์ฌ์ฉ์ ์ ์ ์ํฌํ๋ก๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- ํน์ ์๊ฐ์ด๋ ์ด๋ฒคํธ ๋ฐ์์ ๋ง์ถฐ ์คํฌ๋ฆฝํธ๊ฐ ์๋์ผ๋ก ์คํ๋๋๋ก ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ค์ ํ ์๋ ์์ต๋๋ค.
- ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค ์ฑ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ฌ์ฉ์ ์ ์ ์ ๋์จ์ ๋ง๋ค์ด ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ฆ, ๋ชจ๋ ๊ตฌ๊ธ ์๋น์ค์ ์ํธ์์ฉํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ฑGPT API์ ์ฑ์ค ์คํฌ๋ฆฝํธ๊ฐ ๋ง๋๋ค๋ฉด?
๊ทธ๋ ๋ค๋ฉด ์ด์ฒ๋ผ ๊ฐ๋ ฅํ ์ฑGPT API์ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ฅผ ๊ฒฐํฉํ๋ฉด ์ด๋จ๊น์? ๊ตฌ๊ธ ์คํ๋ ๋์ํธ, ๊ตฌ๊ธ ๋ฌธ์, ์ง๋ฉ์ผ ๋ฑ ์ ๋ฌด์ ์์ฃผ ํ์ฉํ๋ ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค ์๋น์ค์ ๊ฐ๋ ฅํ ์๋ํ์ AI ๊ธฐ๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ ๊ฒ์ ๋๋ค. OpenAI ๋ชจ๋ธ์ ์์ฐ์ด ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค ํ๊ฒฝ์์ ์ง์ ํ์ฉํ ์ ์๋ค๋ ๋ป์ ๋๋ค.
์๋ํ ์์ ์์๋ณด๊ธฐ
์ด ๊ธ์์๋ ๋ค์ํ ๊ตฌ๊ธ์ ์๋น์ค ๊ฐ์ด๋ฐ ์คํ๋ ๋์ํธ๋ฅผ ํ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ์์ ์ ์๋ ๋ฐฉ์์ ์ธ ๋จ๊ณ๋ก ์ด๋ค์ง๋๋ค.
1๋จ๊ณ. ๊ตฌ๊ธ ์คํ๋ ๋์ํธ ๋ฌธ์ ๋ฐ ๋ฐ์ดํฐ ์ค๋น
๊ตฌ๊ธ ๋๋ผ์ด๋ธ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๊ธฐ์ ์๊ฒ ํ์ํ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ ๋ฌธ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด๋ฒ์๋ ๊ธฐ์์ฒญ์์ ์ ๊ณตํ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ต๊ทผ 1๋ ๊ฐ ์์ธ ์๋ด์ ์ต๊ณ , ์ต์ ๊ธฐ์จ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธด ๊ตฌ๊ธ ์ํธ๋ฅผ ์ค๋นํ์ต๋๋ค.
๊ตฌ๊ธ ์คํ๋ ๋์ํธ: ์๋ณธ ๋ฐ์ดํฐ <๋ฐ์ดํฐ ์ถ์ฒ: ๊ธฐ์์ฒญ, ์๊ฐ ์บก์ฒ>
2๋จ๊ณ. ์ฑ์ค ์คํฌ๋ฆฝํธ๋ก OpenAI API์ ์์ฒญํ๊ธฐ
๊ณง๋ฐ๋ก ์ฑ์ค ์คํฌ๋ฆฝํธ๋ก ์ด๋ํ๊ฒ ์ต๋๋ค. ๊ตฌ๊ธ ์ํธ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํญ์ ๋๋ฌ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์คํํฉ๋๋ค.
๊ตฌ๊ธ ์คํ๋ ๋์ํธ: ํ์ฅ ํ๋ก๊ทธ๋จ์์ ์ฑ์ค ์คํฌ๋ฆฝํธ ์คํํ๊ธฐ <์ถ์ฒ: ์๊ฐ>
์ด์ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ก ์ฝ์ด์์ผ ํฉ๋๋ค. ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.
์ฑ์ค ์คํฌ๋ฆฝํธ: ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๊ธฐ <์ถ์ฒ: ์๊ฐ>
function getWeatherDataAndSendToOpenAI() {
// ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์์ ๊ธฐ์จ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('์ํธ1');
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
์ ์ฝ๋๋ ํ์ฌ ์ฌ์ฉ ์ค์ธ ์คํ๋ ๋์ํธ๋ฅผ ๊ฐ์ ธ์ค๋ ์ญํ ์ ํฉ๋๋ค. โ์ํธ1โ์ด๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์ํธ์์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ๋ฒ์๋ฅผ ๋จผ์ ๊ฐ์ ธ์ค์ฃ . ์๋ฅผ ๋ค์ด, ์ํธ์ A1๋ถํฐ C10๊น์ง ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด, ์ด๋ฅผ ํฌํจํด ๋ฐ์ดํฐ ๋ฒ์๊ฐ ์ ํ๋๋ค๋ ๋ป์ ๋๋ค. ๊ทธ ๋ค์, getValues() ๋ฉ์๋๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ ๋ฒ์ ๋ด ๋ชจ๋ ์ ์ ๊ฐ์ 2์ฐจ์ ๋ฐฐ์ด ํํ๋ก ๊ฐ์ ธ์ต๋๋ค. ์ด ๋ฐฐ์ด์ ์ํธ์ ๊ฐ ํ๊ณผ ์ด์ ํฌํจํ๋ฉฐ ์ฒซ ๋ฒ์งธ ํ์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ก, ๋ ๋ฒ์งธ ํ์ ๋ ๋ฒ์งธ ์์๋ก ๋ํ๋ฉ๋๋ค.
์ด๋ ๊ฒ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ์์ ์๊ฐ ํ์ํ ์ง๋ฌธ์ ์ถ๊ฐํ ๋ค์, ์ฑGPT API๋ก HTTP ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ฑGPT ์ฌ์ฉ์ ์ํด, ๋ฏธ๋ฆฌ ๊ตฌ์ ํ ๋ผ์ด์ ์ค๋ฅผ ํตํด ๋ฐ๊ธ๋ฐ์ API ํค๋ก ์ธ์ฆ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์ฑ ์คํฌ๋ฆฝํธ์์ ์ธ๋ถ์ ์๋ ์ฑGPT API์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ์์ผ ํ๋๋ฐ ์ฑ์ค ์คํฌ๋ฆฝํธ์ UrlFetchApp ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
์ฑGPT API๋ฅผ ํ์ฉํ๊ณ ์ ๋ง๋ ์ด ์ฝ๋๋ ๋ค์ ์ธ ๊ฐ์ง ์์ ์ ์ํํฉ๋๋ค.
- ์ฑGPT API๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ํ๋กฌํํธ๋ฅผ ์ค๋นํฉ๋๋ค.
- ์ฑGPT API์ ์ค์ ๊ณผ ํธ์ถ: API ํค์ ์์ฒญ ์ต์ ์ ์ค์ ํ๊ณ , GPT-4 ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด POST ์์ฒญ์ ๋ณด๋ ๋๋ค.
- ์๋ต ์ฒ๋ฆฌ: OpenAI์ ์๋ต์ ๋ฐ์ JSON ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
3๋จ๊ณ. ์ฑGPT API ์๋ต ๊ฒฐ๊ณผ ํ์ฉํ๊ธฐ
์ฑGPT API๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋๋ก API ์๋ต์ ๋ฐํํฉ๋๋ค. ์ฑ์ค ์คํฌ๋ฆฝํธ๋ ๋ค์ ์ด ์๋ต์ ์ฌ์ฉํ์ฌ ์๋์ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์๋ต ๋ด์ฉ์ ๋ณธ๋ฌธ์ผ๋ก ๋ด๋น์๋ ๋ถ์์ ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ๋ฑ ์์ ์ ์ํํฉ๋๋ค.
์์ ์์๋ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์ ์๋ก์ด ์ํธ์ ์ด ๊ฒฐ๊ณผ๋ฅผ ์ถ๊ฐํ ์ ์๊ฒ ๋ง๋ค์์ต๋๋ค. ์ฌ์ฉํ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
// OpenAI ์๋ต์ ์ํธ์ ์ถ๋ ฅ
var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Output');
if (!outputSheet) {
outputSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Output');
}
outputSheet.clear();
outputSheet.getRange(1, 1).setValue('OpenAI์ ๋ถ์ ๊ฒฐ๊ณผ:');
outputSheet.getRange(2, 1).setValue(result.choices[0].message.content.trim());
์ฝ๋๋ ์๋ ์ธ ๊ฐ์ง ์์ ์ํ์ ์ฐ์ ๋๋ค.
- ํ์ฌ ํ์ฑํ๋ ์คํ๋ ๋์ํธ์์ ์ด๋ฆ์ด โOutputโ์ธ ์ํธ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
getRange(1, 1).setValue()
๋ฉ์๋๋ก โOutputโ ์ํธ์ A1 ์ ์ โOpenAI์ ๋ถ์ ๊ฒฐ๊ณผ:โ๋ผ๋ ์ ๋ชฉ์ ์ ๋ ฅํฉ๋๋ค.getRange(2, 1).setValue()
๋ฉ์๋๋ก A2 ์ ์ ์ฑGPT API์ ์๋ต ๋ด์ฉ์ ์ ๋ ฅํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์๋ก์ด ์ํธ๊ฐ ์์ฑ๋ฉ๋๋ค.
์ง๊ธ๊น์ง ๋ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์กฐํฉํ์ฌ ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค ์ํ๊ณ ๋ด์์ ์๋ํ๋ ํ๋ก์ธ์ค๋ฅผ ๊ตฌํํด ๋ณด์์ต๋๋ค. ์๊ฐํ ์์ ๋ ๊ธฐ์ ๊ณผ ๊ฐ์ธ์ด ํ์ฉํ๊ธฐ ์์ฃผ ์ฌ์ด ์๋ํ ๊ตฌํ ๋ฐฉ๋ฒ ์์์ ๋๋ค. ์ํธ๋ฅผ ์์ ํ ๋๋ง๋ค ํด๋น ์ด๋ฒคํธ์ ๋ง์ถฐ ๋ถ์์ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ๋ก ์ด๋ฉ์ผ์ ๋ฐ์กํ๋ sendEmail ๊ธฐ๋ฅ ๋ฑ๋ ํ์ฉํด๋ ์ข์ต๋๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ๋ถ์ ๊ตฌ์ฑ์์๊ฒ ์๋ฆผ(notification) ํํ์ ๋ฉ์ผ์ ๋ณด๋ด๋ ๊ฒ ์ธ์ ์ฌ๋ ์ฑ๋๋ก ๋ฉ์์ง๋ฅผ ๋ฐ์กํ ์๋ ์์ต๋๋ค.
๋ค๋ง ์ด๋ ๊ฒ ๊ตฌ๊ธ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ๋ ค๋ฉด ์ฝ๋ฉ์ด ํ์ํฉ๋๋ค. ์ฑ์ค ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๊ณผ ๋ฌธ๋ฒ ๋ฑ์ ๊ตฌ๊ธ์ด ๋ง๋ ๊ณต์ ์ฌ์ดํธ์์ ๋์์ ๋ฐ์ ์ ์์ต๋๋ค. ๋ง์ฝ ์ฑ์ค ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์ด ์ฒ์์ด๋ผ๋ฉด, ์ฑGPT์ ์ํ ์ฝ๋๋ฅผ ํ๋ณดํด ๋ฌ๋ผ๊ณ ์์ฒญํ ๋ค์ ์ด๋ฅผ ์์ ํ์ฌ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์ค๋ ์๊ฐํ ์์ ์ ์ฝ๋๋ ๊นํ๋ธ ๋งํฌ (BrandonKang/gptapi_gas
)๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
์๋ํ ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํ ๊ฒ์?
์ด์ฒ๋ผ OpenAI ๋ฐ ๊ตฌ๊ธ ๋ฑ ์ธ๋ถ ์ ์ฒด์ ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋๋ ์ ๋ฌด ๋ฐ์ดํฐ๊ฐ ์ด๋๋ก ์ ์ก๋๋์ง ์ฃผ์ํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ฃผ์์ฌํญ์ ์ ๋ฆฌํ์ต๋๋ค.
์ฒซ ๋ฒ์งธ, OpenAI API๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ฉด ํด๋น ๋ฐ์ดํฐ๋ ์ธํฐ๋ท์ ๊ฑฐ์ณ OpenAI ์๋ฒ๋ก ์ ์ก๋์ด ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ฌผ๋ก OpenAI๋ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํ๊ณ ์์ง๋ง, ์๋ฒ๋ก ์ ์ก๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๊ธฐ๋ก๋๊ฑฐ๋ ์๋น์ค ๊ฐ์ ์ ์ฐ์ผ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ถฉ๋ถํ ์ดํดํ๊ณ ์ ๋ฌด์ ํ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค(์ค์ ํ ์ ์ฑ ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค). ๋ฐ๋ผ์ OpenAI API๋ก๋ ๋ฏผ๊ฐํ์ง ์์ผ๋ฉฐ ๊ผญ ํ์ํ ๋ฐ์ดํฐ๋ง ๋ณด๋ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ์ธ ์๋ณ ์ ๋ณด, ๊ธ์ต ๋ฐ์ดํฐ ๋๋ ๋ ์ ์ ๋ณด๋ค์ ๊ผญ ํ์ํ์ง ์๋ค๋ฉด, ์ ์กํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค. ๋ํ, ๋ฐ์ดํฐ๋ฅผ ์ต๋ช ํํ๊ฑฐ๋ ์ง๊ณํด ํ์ฉํ๋ฉฐ ์ํ์ ์ต์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๋ฒ์งธ, ๊ตฌ๊ธ๊ณผ OpenAI์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ์ ์ฑ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ์์งํด์ผ ํฉ๋๋ค. ๋์๊ฐ ์ด๋ฅผ ์ ๋ขฐํด๋ ์ข์์ง ์ ๊ฒํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ ์๋น์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ฑฐ๋ ์ ์ฅํ ์ ์๋์ง์ ๋ํด ์ดํดํ ํ์๊ฐ ์์ต๋๋ค.
์ธ ๋ฒ์งธ, API ํค๋ฅผ ์คํฌ๋ฆฝํธ์ ์ง์ ํ๋์ฝ๋ฉํ์ง ์์์ผ ํฉ๋๋ค. ๋์ ์ฑ์ค ์คํฌ๋ฆฝํธ์ PropertiesService
๋ฑ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ฉด, API ํค๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ ์ ์์ต๋๋ค.
ํนํ ๋ฐ์ดํฐ ๋ณด์์ด๋ ํ๋ผ์ด๋ฒ์๊ฐ ์ฃผ์ํ ๋ฌธ์ ๋ผ๋ฉด, ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋ํ ์๋น์ค๊ฐ ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์กฐ๊ธ ๋์ด๋๊ฐ ์์ง๋ง, ์ง์ ํด๋น AI ๋ชจ๋ธ์ ๋ก์ปฌ ํ๊ฒฝ์์ ์คํํ๊ฑฐ๋, ํ๋ผ์ด๋น ํด๋ผ์ฐ๋์ฒ๋ผ ์ ์ดํ ์ ์๋ ์์ ํ ํ๊ฒฝ ๋ด์์ ์ด์ํ๋ ๊ฒ์ด ์ ํ์ง๊ฐ ๋ฉ๋๋ค.
๋ง์น๋ฉฐ
AI์ ์๋ํ ๊ธฐ์ ์ ๊ฒฐํฉ์ ๊ธฐ์ ์ ์์ฐ์ฑ์ ๋น์ฝ์ ์ผ๋ก ์ฌ๋ ค์ค ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด ๊ธ์์ ์์ ๋ก ์ฌ์ฉํ ์ฑGPT API์ ์ฑ์ค ์คํฌ๋ฆฝํธ๋ ๋น๋จ ๋จ์ํ ํ๋์ ์์ ์ ๋๋ค. ์์ฅ์ ๋ค์ํ ์์ฑํ AI ์๋น์ค, ์์ฐ์ด ์ดํด(NLU) ๋๋ ์์ฐ์ด ์ฒ๋ฆฌ(NLP) ๋ฐ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์์ ์ ์์ฝ๊ฒ ์๋ํํ ์ ์์ต๋๋ค. ์ฐฝ์์ ์ธ ์ ๋ฌด์๋ AI์ ํ์ ๋ํ ์ ์์ฃ .
์ด๋ฌํ ๊ธฐ์ ๋์ ์ ์๋์ ์ด๋ ๊ธฐ์ ๊ณผ ๋ถ์, ์กฐ์ง์ ํ๋ก์ธ์ค์ ํ๋ ฅ์ ๋ง๋ค์ด ์ค๋๋ค. ์๋ํ๊ฐ ์ฃผ๋ ์๊ฐ ์ ์ฝ๊ณผ ํจ์จ์ฑ ํฅ์ ํจ๊ณผ๋ ์ ๋ฌด ์์ฐ์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ๋ฟ๋ง ์๋๋ผ, ๊ตฌ์ฑ์๋ค์ด ๋ ์ฐฝ์์ ์ด๊ณ ์ ๋ต์ ์ธ ์ ๋ฌด์ ์ง์คํ ์ ์๋ ํ๊ฒฝ์ ์กฐ์ฑํด ์ค๋๋ค. ํนํ, ์์ ์ฒ๋ผ ์ฌ๋์ ์์ ํ๋ ๋ฐ๋ณต ์์ ์ ํ ์ ํ๋ ์๊ฐ์ ์ ๊ฐํ๋ฉด ๋ ์ค์ํ ๋น์ฆ๋์ค ๊ฒฐ์ ์ ์ง์คํ ์ ์์ต๋๋ค.
์ด์ฒ๋ผ AI์ ์๋ํ๋ ์กฐ์ง์ ๊ฒฝ์๋ ฅ์ ๊ฐํํ๋ ํต์ฌ ์์๋ก ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. ์๋ก์ด ๊ธฐ์ ์ ๋์ ํ ๊ธฐ์ ๋ค ๋ชจ๋ ํ์ ์ ๋ฌผ๊ฒฐ์ ๊ฒฝํํ๊ณ ์์ต๋๋ค. ๋ค๋ง, ์ด๋ฐ ํ๊ฒฝ์ด ๋๋ฆฌ ํผ์ง์๋ก ๊ธฐ์ ์ ๋ฐ์ดํฐ ๋ณด์๊ณผ ํ๋ผ์ด๋ฒ์ ๊ด๋ฆฌ์ ๋ํด ์ฒ ์ ํ ๋๋นํด์ผ ํฉ๋๋ค. AI๊ฐ ์ ๊ณตํ๋ ์ด์ ์ ์ต๋ํ ํ์ฉํ๋ฉด์๋, ๋ฐ์ดํฐ ๋ณดํธ์ ์ค๋ฆฌ์ ์ฑ ์์ ๊ณ ๋ คํ ์ ์คํ ์ ๊ทผ์ด ์๊ตฌ๋ ๊ฒ์ ๋๋ค.