- ๊ฐ์์ฐ : ํ๋ก์ ํธ ๊ธฐํ ๋ฐ ๋ฐํ
- ๊น๋์ฑ : ChatGPT API ์ฐ๋ ๋ฐ ๊ฐ์ ์ ๋ฐ๋ฅธ ๋ ธ๋ ์ถ์ฒ ๋ก์ง ๊ตฌํ
- ๊น์ฃผ์ก : AWS Rekognition API ์ฐ๋
- ๋ฐฐ์ค์ : ํ๋ก ํธ์๋ ๊ตฌํ
ํ์ ์ธ์ ๊ธฐ๋ฐ ๋ ธ๋ ์ถ์ฒ ์๋น์ค ๋ ์ฌ์ฉ์์ ์ผ๊ตด ํ์ ์ ์ธ์ํ์ฌ ๊ฐ์ ์ ๋ถ์ํ ํ, ํด๋น ๊ฐ์ ์ ๋ง๋ ๋ ธ๋๋ฅผ ์ถ์ฒํด์ฃผ๋ ์น ์๋น์ค์ ๋๋ค.
์นํ์ด์ง๋ฅผ ํตํด ์ฌ์ฉ์์ ์ผ๊ตด ์ฌ์ง์ ์ ๋ก๋ํ๋ฉด, AWS Rekognition์ ์ด์ฉํ์ฌ ํ์ ์ ๋ถ์ํฉ๋๋ค. ์ดํ GPT API๋ฅผ ํ์ฉํด ๊ฐ์ ์ ๋ง๋ ๋ ธ๋๋ฅผ ์ถ์ฒํ์ฌ ์ฌ์ฉ์์ ๊ธฐ๋ถ์ ๋ง๋ ์์ ์ ์ฆ๊ธธ ์ ์๋๋ก ๋์์ค๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ:
- ์ผ๊ตด ํ์ ์ธ์: ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ์ฌ์ง์ AWS Rekognition์ผ๋ก ๋ถ์ํ์ฌ ๊ฐ์ ์ํ๋ฅผ ํ์
- ๋ ธ๋ ์ถ์ฒ: GPT API๋ฅผ ํ์ฉํ์ฌ ๋ถ์๋ ๊ฐ์ ์ ์ด์ธ๋ฆฌ๋ ๋ ธ๋๋ฅผ ์ถ์ฒ
- ์ฌ์ฉ์ ๋ง์ถค ์๋น์ค: ์ฌ์ฉ์์ ๊ธฐ๋ถ์ ๋ง๋ ๋ ธ๋๋ฅผ ์ถ์ฒํ์ฌ ๊ฐ์ ์ ๋ฐ๋ฅธ ์์ ๊ฐ์ ๊ฒฝํ ์ ๊ณต
๋๋ถ๋ถ์ ์์ ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ ์ฒญ์ทจ ๊ธฐ๋ก์ด๋ ์ฌ์ฉ์์ ๋ช ์์ ์ธ ์ ํธ๋ ์ ๋ ฅ์ ์์กดํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐฉ์์ ์ฌ์ฉ์์ ํ์ฌ ๊ธฐ๋ถ์ ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ์ง ๋ชปํ ์ ์์ต๋๋ค.
ํ์ ์ธ์ ๊ธฐ๋ฐ ๋ ธ๋ ์ถ์ฒ ์๋น์ค๋ ์ฌ์ฉ์์ ์ผ๊ตด ํ์ ์ ๋ถ์ํ์ฌ ์ฆ๊ฐ์ ์ผ๋ก ๊ฐ์ ์ ํ์ ํ๊ณ , ์ด์ ๋ง๋ ์์ ์ ์ถ์ฒํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณด๋ค ๊ฐ์ธํ๋ ์์ ๊ฒฝํ์ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์์ ๊ฐ์ ์ํ์ ๋ง์ถฐ ์์ ์ ์ ํํ๋ ๊ณผ์ ์ ๊ฐ์ํํ ์ ์์ต๋๋ค.
-
์ํฉ 1: ์ง์ฅ์์ ์คํธ๋ ์ค๋ฅผ ๋ง์ด ๋ฐ์ ์ง์น ์ํ ๐
- ๊ฒฐ๊ณผ: ์์คํ ์ด ์ง์น ํ์ ์ ๊ฐ์งํ๊ณ , ์์ ์ ์ฃผ๋ ์์ ๋๋ ์ฐจ๋ถํ ์์ ์ ์ถ์ฒํ์ฌ ์ฌ์ฉ์๊ฐ ํด์์ ์ทจํ ์ ์๋๋ก ๋์ต๋๋ค.
-
์ํฉ 2: ์ํ์์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด์ ๊ธฐ๋ถ์ด ์ข์ ์ํ ๐ฅฐ
- ๊ฒฐ๊ณผ: ์์คํ ์ด ๊ธฐ์ ํ์ ์ ๊ฐ์งํ๊ณ , ๊ธฐ์๊ณ ํ๊ธฐ์ฐฌ ๋ ธ๋๋ฅผ ์ถ์ฒํด์, ๊ธฐ์จ์ด ์ค๋ ์ง์๋ ์ ์๊ฒ ๋์ต๋๋ค.
-
์ํฉ 3: ๋ชฉํํ๋ ํ์ฌ์ ๋ค์ด๊ฐ์ง ๋ชปํด์ ์์ค๊ฐ์ ๋๋ผ๋ ์ํ ๐ข
- ๊ฒฐ๊ณผ: ์์คํ ์ด ์ฌํ ํ์ ์ ๊ฐ์งํ๊ณ , ์๋ก๊ฐ ๋๋ ์์ ๋๋ ๊ธฐ๋ถ์ ์ ํํ ์ ์๋ ์์ ์ ์ถ์ฒํด์ ์ฌํ์ ๋นจ๋ฆฌ ๊ทน๋ณตํ ์ ์๋๋ก ๋์์ค๋๋ค.
OpenAI์์ ์ ๊ณตํ๋ ๋ํํ ์ธ๊ณต์ง๋ฅ ์๋น์ค๋ก ์ด API๋ GPT(Generative Pre-trained Transformer) ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ดํดํ๊ณ ์์ฐ์ค๋ฌ์ด ๋ํ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ChatGPT API๋ ์ฑ๋ด ์ฉ๋๋ก ํ์ฉ๋ ์ ์์ผ๋ฉฐ ํนํ, ์์ฐ์ด ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํตํด ์ฌ์ฉ์์๊ฒ ๋ง์ถคํ ์ถ์ฒ์ด๋ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ค๋ค.
Amazon Web Services์์ ์ ๊ณตํ๋ ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ๋ถ์ ์๋น์ค๋ก ์ผ๊ตด ์ธ์, ๊ฐ์ ๋ถ์, ๊ฐ์ฒด ํ์ง, ํ ์คํธ ์ธ์ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ง์ด๋ ๋์์์์ ์ฌ๋์ ์ผ๊ตด์ ์ธ์ํ๊ณ ๊ฐ์ ๋ฑ์ ๋ถ์ํ ์ ์๋ค.
๋ฅ๋ฌ๋์ ํ์ฉํ์ฌ ์ผ๊ตด ํ์ ์ ์ธ์ํ๊ณ ๊ทธ์ ๋ง๋ ์์ ์ ์ฌ์ํ๋ ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ค. ์น ์บ ์ ํตํด ์ฌ์ฉ์์ ์ผ๊ตด ํ์ ์ ์ธ์ํ์ฌ ๊ฐ์ ์ ์ถ์ธกํ๋ค. ์ดํ, ํด๋น ๊ฐ์ ์ ๋ง๋ ๋ ธ๋๋ฅผ ์ฌ์ํ์ฌ ์ฌ์ฉ์์ ๊ฐ์ ์ด ์ํ๋ ์ ์๋๋ก ๋์์ ์ค๋ค.
๋ฉํฐ๋ชจ๋ฌ ๊ฐ์ ์ธ์์ ํตํด ์ฌ๋์ ๊ฐ์ ์ ์ ํํ๊ฒ ๋ถ๋ฅํ๊ณ , ์ฌ๋์ ๊ฐ์ ์ ์ด์ธ๋ฆฌ๋ ์์ ์ ๋งค์นญํ๋ ์์คํ ์ ์ค๊ณํ๋ค.
์ฌ์ง์ ์ด์ฉํด ์ฌ์ฉ์๋ค์๊ฒ ๋ง๋ ์์ ์ ์ถ์ฒํด์ค๋ค. Sound Seeker ํํ์ด์ง์ ์์ ์ด ์ข์ํ๋ ์ทจํฅ์ ์ฌ์ง 3์ฅ์ ์ ๋ก๋ํ๋ฉด, ์ฌ์ง์ ์๊น๊ณผ ๋ฐฐ๊ฒฝ, ์ฌ์ง์ ๋ฑ์ฅํ ์ฌ๋์ ์ผ๊ตด ํ์ , ๋ชธ์ง์์ ๋๋ฌ๋๋ ๊ฐ์ ๋ฑ์ ๋ถ์ํ์ฌ ์ด์ธ๋ฆฌ๋ ์์ ์ ์ถ์ฒํด์ค๋ค.
์ํฉ์ ์๋์ผ๋ก ๋ถ์ํ์ฌ ๋ง์ถคํ ์์ ํ๋ ์ด๋ฆฌ์คํธ๋ฅผ ์ถ์ฒํด์ค๋ค. ํนํ ๋ฐ์ AI๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์ ํ๋กํ์ผ๊ณผ ์ํฉ, ๊ฐ์ ์ ๋ถ์ํด 3D ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ์ผ๋ก ์์ ์ ์ ๋ณํด์ค๋ค.
์ฌ์ฉ์์ ์์ฑ์ ํ์ฉํด ์ฝํ ์ธ ๋ฅผ ์ถ์ฒํด์ค๋ค. ์ฌ์ฉ์์ ์์ฑ์ ํตํด ์ฐ๋ น๊ณผ ์ฑ๋ณ, ์์กฐ๋ ์ต์, ๋ฆฌ๋ฌ์ AI๊ฐ ๋ถ์ํด ๊ฐ์ ์ํ๋ฅผ ํ์ ํ ํ ์ด์ธ๋ฆฌ๋ ์์ ์ ์ ๋ณํด์ค๋ค.
- Client๊ฐ service์ facial data(์ฌ์ง) ์ ์ก ๋ฐ ๊ฒฐ๊ณผ ์์ฒญ
- ์ฌ์ฉ์๋ ์์ ์ ์ผ๊ตด ์ฌ์ง์ service์ ์ ์กํฉ๋๋ค.
- Service๋ ์ ๋ฌ ๋ฐ์ facial data๋ฅผ AWS Rekognition์ ์ ์ก, ํ์ ๋ถ์ ์์ฒญ
- ์๋น์ค๋ ์ผ๊ตด ๋ฐ์ดํฐ๋ฅผ AWS Rekognition์ ์ ๋ฌํ์ฌ ํ์ ์ ๋ถ์ํฉ๋๋ค.
- AWS Rekognition์ ํ์ ์ ๋ถ์ํ์ฌ ๊ฒฐ๊ณผ ๊ฐ์ service์ ์ ๋ฌ
- AWS Rekognition์ ์ผ๊ตด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ํ์ ๊ฒฐ๊ณผ๋ฅผ ์๋น์ค์ ๋ฐํํฉ๋๋ค.
- Service๋ GPT API๋ฅผ ์ฌ์ฉ, ๋ถ์ํ ํ์ ์ ํตํด GPT์๊ฒ ๋
ธ๋ ์ถ์ฒ ์ง๋ฌธ ์ ๋ฌ
- ์๋น์ค๋ ๋ถ์๋ ํ์ ์ ๋ฐํ์ผ๋ก GPT API์ ์ ์ ํ ๋ ธ๋๋ฅผ ์ถ์ฒํด ๋ฌ๋ผ๊ณ ์์ฒญํฉ๋๋ค.
- GPT๊ฐ ๋ง๋ ๋
ธ๋ ์ถ์ฒ ๋ชฉ๋ก ์ ๋ฌ
- GPT๋ ํ์ ์ ๋ง๋ ๋ ธ๋ ๋ชฉ๋ก์ ์๋น์ค์ ์ ๋ฌํฉ๋๋ค.
- ํ์ ์ํ ๋ฐ ๋
ธ๋ ์ถ์ฒ ๋ชฉ๋ก ๊ฒฐ๊ณผ๋ฅผ Client์ ์ ๋ฌ
- ์๋น์ค๋ ์ต์ข ์ถ์ฒ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฐํํฉ๋๋ค.
-
Python ์ค์น
-
ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ module ์ค์น
- terminal์ ์๋ ๋ด์ฉ์ ์ ๋ ฅํ๋ค.
pip install flask boto3 python-dotenv langchain-openai
-
/src ํด๋ ๋ด, .env ํ์ผ ์์ฑ
-
AWS ๋ฐ Open AI ์ธ์ฆํค ๋ฐ๊ธ
-
AWS ์ธ์ฆํค ๋ฐ๊ธ ํ, ๊ถํ ์ ์ฑ ์์ 'AmazonRekognitionFullAccess'๋ฅผ ํ์ฉํด์ผ ํ๋ค.
-
.env ํ์ผ ๋ด์ฉ ์ถ๊ฐ
AWS_ACCESS_KEY_ID = {your AWS access key ID}
AWS_SECRET_ACCESS_KEY = {your AWS secret access key}
OPEN_API_KEY= {your Open AI API key}
-
directory ์์น๋ฅผ 'src'๋ก ์ค์ ํ ํ(
cd src
), terminal์python app.py
์ ๋ ฅํ์ฌ ์คํ -
์คํ์ค์ธ ๋์ผํ ์ปดํจํฐ์์, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํ์ฌ http://127.0.0.1:5000 ๋ก ์ ์ํ๋ค.
- 'Choose File' ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ฌ์ง์ ์ ํํ๋ค. (๋จ, ์ฌ์ง์ ํฌ๊ธฐ๊ฐ 5MB ์ดํ์ฌ์ผ ํ๋ค.)
- 'Upload' ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ฌ์ง์ ์ ๋ก๋ํ๋ค.
- /uploads/happy.jpeg ๋ฅผ ์์๋ก ๋ฃ์ผ๋ฉด ์๋์ ๊ฐ์ Preview๋ฅผ ํ์ธํ ์ ์๋ค.
- ์ฌ์ง์์์ ๊ฐ์ ์ ์ธ์ํ ๊ฒฐ๊ณผ์ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ถ์ฒํ๋ ๋ ธ๋ ์ ๋ชฉ ๋ฐ ๊ฐ์, YouTube Link๋ฅผ ์ ๊ณตํ๋ค. ์ธ๋ค์ผ์ ํด๋ฆญํ ๊ฒฝ์ฐ, ์ ํ๋ธ๋ก ๋ฐ๋ก ์ฐ๊ฒฐ๋๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ค.
ํ์ ์ธ์ ๊ธฐ๋ฐ ๋ ธ๋ ์ถ์ฒ ์๋น์ค๋ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋ ์ ์์ต๋๋ค
-
๊ฐ์ธ ๋ง์ถคํ ์์ ์ถ์ฒ ์๋น์ค
- ๊ฐ์ ์ธ์์ ํตํด ์ฌ์ฉ์์ ํ์ฌ ๊ธฐ๋ถ์ ๋ง๋ ์์ ์ ์ ๊ณตํ์ฌ ๋ณด๋ค ๊ฐ์ธํ๋ ์์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
-
๊ฐ์ ๊ธฐ๋ฐ ์ปจํ ์ธ ์ถ์ฒ
- ์์ ์ธ์๋ ๋์์, ๊ธฐ์ฌ, ์ฑ ๋ฑ ๋ค์ํ ์ปจํ ์ธ ๋ฅผ ๊ฐ์ ์ ๋ฐ๋ผ ์ถ์ฒํ ์ ์์ต๋๋ค.
-
๊ฐ์ ์ธ์ ํผ๋๋ฐฑ ์์คํ
- ์ค์๊ฐ ๊ฐ์ ๋ชจ๋ํฐ๋ง์ ํตํด ๋ง์ถคํ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
-
๋ง์ถคํ ๊ด๊ณ
- ์ฌ์ฉ์์ ๊ฐ์ ์ ๋ถ์ํ์ฌ ํ๊ฒํ ๊ด๊ณ ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ๊ด๊ณ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ ์ ์์ต๋๋ค.
-
์ค๋งํธ ๊ธฐ๊ธฐ ์ฐ๋
- ์ค๋งํธํ์ด๋ ์จ์ด๋ฌ๋ธ ๊ธฐ๊ธฐ์ ์ฐ๋ํ์ฌ ๊ฐ์ ๊ธฐ๋ฐ์ ์๋ํ๋ ํ๊ฒฝ ์ค์ ์ ๊ตฌํํ ์ ์์ต๋๋ค.
-
์ํฐํ๋ผ์ด์ฆ ์๋ฃจ์
- ๊ธฐ์ ๋ด์์ ๊ฐ์ ๋ถ์์ ํตํด ์ง์ ๋ณต์ง์ ์ ๋ฌด ํจ์จ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
-
๊ฐ์ ๋ถ์ ๋ฆฌ์์น
- ๋๊ท๋ชจ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ์ฌ๋ฆฌ ์ฐ๊ตฌ ๋ฐ ๋ง์ผํ ๋ฆฌ์์น์ ํ์ฉํ ์ ์์ต๋๋ค.
์ด ์ธ์๋, ๊ฐ์ ์ธ์ ๊ธฐ์ ์ ๋ค์ํ ์ฐ์ ๊ณผ ์๋น์ค์ ์ ๋ชฉํ์ฌ ์๋ก์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ฐฝ์ถํ ์ ์์ต๋๋ค.