GPT๋ก ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ๊ธฐ
๊ฐ์ธ ํ๋ก์ ํธ๋ก ๋ธ๋ก๊ทธ๋ฅผ ๊ฐ๋ฐ์ค์ธ๋ฐ, ํ์ฌ์์ ์ฝํ์ผ๋ฟ ์ฝ๋๋ฆฌ๋ทฐ ๊ด๋ จ ์ด์ผ๊ธฐ๋ฅผ ๋๋ฃ๋ถ๋ค๊ป ๋ฃ๊ณ gpt์๊ฒ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์๋ณด๊ธฐ๋ก ํ๋ค.
์๋ฌด๋๋ ํผ์ ์ฝ๋ฉ์ ํ๋ ๊ฒ ๋ณด๋ค๋ ์๊ฐ์น ๋ชปํ ๋ถ๋ถ์์ ๋์์ด ๋์ง ์์๊น ์ถ์๋ค.
1. OpenAi Api ํค ๋ฐ๊ธ
๋จผ์ Open Api ์ ์ ์ํด์ ๋ก๊ทธ์ธ ํ ๋์๋ณด๋๋ก ์ด๋ํด ์ผ์ชฝ ๋ฉ๋ด ์ค API Keys์์ ํค๋ฅผ ๋ฐ๊ธํ๋ค.
ํค๋ ๋ฐ๊ธ ํ ๋ค์ ํ์ธํ ์ ์์ผ๋ ๋ณต์ฌํด์ ์ ์ฅํด๋์.
2. Github์ API ํค ๋ฑ๋ก
๋ฐ๊ธ๋ฐ์ key๋ฅผ ์ฝ๋๋ฆฌ๋ทฐ ๋ด์ ์ฐ๋ํ ๋ ํฌ์งํ ๋ฆฌ์ Settings > Secrets and Variables > Actions ๋ก ์ ๊ทผํด Secret์ ๋ฑ๋กํด์ผ ํ๋๋ฐ, ๋๋ OPENAI_API_KEY
d๋ก ์ ์ฅํ๋ค.
3. Github ์ํฌํ๋ก์ฐ ์์ฑ
์ฝ๋๋ฆฌ๋ทฐ gpt๋ ๋ง์ ๊ฐ๋ฐ์๋ถ๋ค์ด ๊ฐ๋ฐํด์ฃผ์ ์ ๋ค์ํ๊ฒ ์์ํ ๋ฐ, ๋๋ ๋๋ถ๋ถ์ด ์ฌ์ฉํ๊ณ ์๋ฃ๋ ๋ง์ ์ค๊ตญ์ธ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐํ ์ฝ๋๋ฆฌ๋ทฐ gpt๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
name: Code Review From ChatGPT
permissions:
contents: read
pull-requests: write
on:
pull_request:
types: [opened, synchronize]
jobs:
code-review:
runs-on: ubuntu-latest
steps:
- uses: anc95/ChatGPT-CodeReview@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
LANGUAGE: Korean
MODEL: gpt-4o-mini
ํ์ผ๋ช ๊ณผ name์ ์ํ๋ ์ด๋ฆ์ผ๋ก ์ค์ ํ ์ ์๋ค.
GITHUB_TOKEN
์ ์๋์ผ๋ก ์์ฑ๋๋ ๊ทธ๋๋ก ์์ฑํ๋ฉด ๋๊ณ , OPENAI_API_KEY
๋ ๋ณธ์ธ ๊นํ๋ธ์ ๋ฑ๋กํ ์ํฌ๋ฆฟ ํค ์ด๋ฆ์ ์
๋ ฅํ๋ฉด ๋๋ค.
์ธ์ด๋ ํ๊ตญ์ด๋ก ์ค์ ํ๊ณ gpt ๋ชจ๋ธ์ gpt-3.5, turbo, gpt-4o๋ณด๋ค ํจ์จ์ด ์ข๋ค๋ gpt-4o-mini๋ก ์ค์ ํ๋ค.
๋ณธ์ธ์๊ฒ ๋ง๋ ๋ชจ๋ธ์ ์ฐพ์๋ณด๊ณ ์ ์ฉํ์.
์์ฑ์ด ๋๋๋ฉด ํด๋น ๋ด์ฉ์ ๋ ํฌ์งํ ๋ฆฌ์ pushํ๋ฉด ๋๋ค. ์ด๊ธฐ 18$๋ฅผ ์ง๊ธํด์ฃผ๋๋ฐ ์ ํจ๊ธฐ๊ฐ์ด ์กด์ฌํ๋ ๊ฒ ๊ฐ๊ณ ๋ด๊ฐ ๋ฑ๋กํ ๋๋ ์ ํจ๊ธฐ๊ฐ์ด ์ง๋ ์์ ์ด๋ผ ํ ์คํธ ๊ฒธ 10$๋ฅผ ๊ฒฐ์ ํด์ ์ฌ์ฉํ๋ค.
์ฌ์ฉ๋ ํ์ธ์ ์ฌ๊ธฐ์ ํ๋ฉด ๋๊ณ , ๊ฒฐ์ ์๋จ์ ๋ฑ๋กํ๋ค๋ฉด ๋น๋ง์ ์ค์ ํด์ ๊ณผ๊ธ์ด ๋ฐ์ํ์ง ์๋๋ก ์ฃผ์ํ์.
4. ์ฝ๋๋ฆฌ๋ทฐ ํ๊ธฐ
์ ์ฒด์ฝ๋๋ฅผ ๋ถ์ํ๋๊ฒ ์๋๋ผ ๋ฆฌ๋ทฐ์ด๊ฐ ๋ณ๊ฒฝ์ ์ธ์ ์๋ค ๋งฅ๋ฝ์ ๋ชจ๋ฅด๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ณตํ๊ธฐ๋ ํ๋๋ฐ, ์๊ฐ์ง ๋ชปํ
๋ถ๋ถ์์ ์ฒดํฌ๋ฅผ ํด์ค ๋๊ฐ ์์ด์ ๊ฐ์ธ ํ๋ก์ ํธ์๋ ์ฌ์ฉํ ๋ฒ ํ๋ค.
๋ฆฌ๋ทฐ์ด๊ฐ ์๋ ๊ฒ ๋ณด๋ค๋ ์ข์๋ค.