์์ด ์๋ฃ ์์์ง๋ง ๋ง์กฑ์ค๋ฝ์ง ๋ชปํ์์
๊ทธ๋์ ์์ผ๋ก ์ด๊ฑธ ๋ณด๋ ์ด๋ค์ ChatGPT ํ๋ฌ๊ทธ์ธ์ ๋ง๋๋ ๋ฐ์ ๋ ์ด์ ๋๊ฐ์ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ง ์๋๋ก ํ๊ณ ์ ์ด ๊ธ์ ์์ฑํจ
์ด ๊ธ์ ํ๋ฌ๊ทธ์ธ์ ์ ์, ๋ฐฐํฌ๊น์ง ๋ชจ๋ ๊ณผ์ ์ ํฌํจํด ๊ฐ์ด๋ํ ์์ ์ด๋ ์ ๋ฐ๋ผ์ค๊ธธ ๋ฐ๋
Chapter 1. ์์ด๋์ด ๊ตฌ์ํ๊ธฐ
์ด๋ฏธ ๋ง๋ค๊ณ ์ถ์๋ ํ๋ฌ๊ทธ์ธ์ด ์๋ค๋ฉด ์ด ์ฑํฐ๋ ๋์ด๊ฐ๋ ์ข์
๋น์ฐํ ์๋ฆฌ์ง๋ง ๋ง๋ค๊ณ ์ถ์๊ฒ ์์ผ๋ฉด ๋ฐฐ์ธ ์๋ฏธ๋ ์์ง
๊ทผ๋ฐ ์๊ฐ๋ณด๋ค ์์ด๋์ด ์ง๋๊ฒ ์ฌ์ด ์ผ๋ง์ ์๋๊ธฐ ๋๋ฌธ์
๋ฐ๋ก ์ด ์ฑํฐ๋ฅผ ๋ง๋ค์ด์ผ ๊ฒ ๋ค๊ณ ๊ฒฐ์ฌํจ
๋ด๊ฐ ๊ฒฝํํ ๋ฐ๋ก, ์์ด๋์ด ์ง๋๊ฒ ์ด๋ ค์ด ์ด์ ๋ ํฌ๊ฒ ๋ ๊ฐ์ง์
1. OpenAI๊ฐ ์์ผ๋ก ๋ด ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฅ์ ์์ฒด์ ์ผ๋ก ๊ตฌํํด ๋ฒ๋ฆด ์ ์์
2. ์ฑํ ์ ๊ตญํ๋ ์ธํฐํ์ด์ค์ ๋ญ ๋ ๋ฃ์ด์ผ ์ฌ์ฉ์๊ฐ ๋ง์กฑํ ์ ์์ ์ง๊ฐ ๋ง๋งํจ
๊ทธ๋์ ์์ด๋์ด๋ฅผ ๊ตฌ์ฑํ๋๋ฐ์ ๋ด๊ฐ ์ถ์ฒํ๋ ๋ฐฉ๋ฒ์,
๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ๋ค์ ๋๋ฃจ๋๋ฃจ ์ฌ์ฉํ๊ณ , ๊ทธ๊ณณ์์ ๋ถ์กฑํ ์ ์ ์ฐพ์ ๊ทธ ๊ธฐ๋ฅ์ ๋ณด์ํด๋ณด๊ธฐ์
์ง๊ธ ์ด ๊ธ ์์ฑ ๊ธฐ์ค์ผ๋ก ์ ์์ผ๋ก ์ถ์๋์ด plugin store์ ๋์์๋ ํ๋ฌ๊ทธ์ธ์ 8*76 + 5 = 701๊ฐ์
์ด๊ฑธ ํ๋ํ๋ ๋ค ๋ณด๋ ์๋ฆฐ ์๋๊ณ , ์ธ๋งํ ํ๋ฌ๊ทธ์ธ ๋ช ๊ฐ ๊ณ ๋ฅด๋ค๋ณด๋ฉด '์ ์ด๊ฒ ์๋๋ค' ํ๋๊ฒ ๋์ด
๋ด ๊ฒฝํ์ ์๊ธฐํด์ฃผ์๋ฉด, ํ์๋ ํ ์์ด ๋คํ๋ฉํฐ๋ฆฌ ์ฑ๋์ ์์์ ํ๊ตญ์ด๋ก ๋ฒ์ญํ๋ ๋ด์ฌ๋ฅผ ์ทจ๋ฏธ์ผ์ ํ๊ณ ์์
๊ทผ๋ฐ ์ ํ๋ธ ์์์ ๊ฐ์ ธ์ ์์ฝํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ด ์๋ค๊ณ ํด์
'๊ทธ๋ผ ์ ํ๋ธ ์์ ์๋ง์ ๊ฐ์ ธ์จ ๋ค์ ์์ฝํ๊ฒ ๋ค?' > '๊ทธ๋ผ ๋ฒ์ญ๋ ๊ฐ๋ฅํ์ง ์์๊น?'
๋ผ๋ ์ฌ๊ณ ๊ฐ ๋์๊ฐ๊ธฐ ์์ํ๊ณ
๊ทธ ๊ฒฐ๊ณผ ChatGPT๋ ๋ด ์์๋๋ก ์๋ง์ ๋ฒ์ญํด์ ์ค์ค์ด ์์ด๋์
๊ทผ๋ฐ ๋ฌธ์ ๋ ์ด์ ์ด๊ฑธ ์๋ง ํ์ผ๋ก ๋ง๋ค์ด์ผ ํ๋๋ฐ,
์๋ ์ฌ๋์ ์๊ฒ ์ง๋ง, ์๋ง ํ์ผ์ ๊ทธ ์๋ง์ด ์์ํ๋ ์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ์ ํ ํ์ ์คํฌํ๊ฐ ํฌํจ๋์ด์ผ ํจ
๋จ์ํ ๋ฒ์ญ๊ธฐ๋ก ์ฐ๊ธฐ์ ๋๋ฌด ์๊น๋ค ์ถ์ด์, ์๋ง ๋ฒ์ญ ์์ + ํ์ํ ์์ ๊น์ง ์์์ ํด์ฃผ๋ฉด ์ผ๋ง๋ ์ข์๊น?
๋ผ๋ ์๊ฐ์ด ๋ฆ
ํ์ฌ ๋์์๋ ํ๋ฌ๊ทธ์ธ ์ค์ ์๋ง ํ์์คํฌํ๊น์ง ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ์ด ์๋ ํ๋ฌ๊ทธ์ธ์ ์์๊ธฐ ๋๋ฌธ์, '์, ์ด๊ฑฐ๊ตฌ๋!'
์ถ์ด์ ๋ฐ๋ก ์์ ๋ค์ด๊ฐ
Chapter 2. ํ๋ฌ๊ทธ์ธ์ ์๋ ๋ฐฉ์ ์์๋ณด๊ธฐ
์์๋๋ก ์ค๋ช ํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค
1. ๋น์ ์ด ๋ง๋ ํ๋ฌ๊ทธ์ธ์ ๋ํด GPT๊ฐ ์ดํดํ ์ ์๋๋ก ์ค๋ช ์ ํด ๋์ ํ์ผ์ GPT๊ฐ ์ฝ๋๋ค
- ์ด๋, GPT์๊ฒ '๊ทธ ์ค๋ช ์ ํด๋์ ํ์ผ'์ '์ฌ๊ธฐ์์ด' ํ๊ณ ์ค ์ ์๋ค. ์ด ํ์ผ์ ์ ์ฅํด ๋์ ๋น์ ๋ง์ ์ฌ์ดํธ๊ฐ ์์ด์ผ ํ๋ค
- '๊ทธ ํ์ผ'์๋ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ์ด๋ป๊ฒ GPT๊ฐ ์ฐ๋ฉด ๋๋์ง์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ ์๋ค(ํ์)
- plugin store์ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ด ์ ์์ผ๋ก ๋ฑ๋ก๋๋ ค๋ฉด OpenAI ๊ฐ๋ฐ์ ๊ณ์ ์ด ์์ด์ผ ๊ฐ๋ฅํ๋ค
- ๊ฐ๋ฐ์ ๊ณ์ ์ ์ฌ๊ธฐ์์ ์ด๋ฆ, ์ด๋ฉ์ผ, ์ฃผ์ ์ ๊ณ How do you want to use plugins? ํญ๋ชฉ์ I am a developer and want to build a plugin์ ์ฒดํฌํ๊ณ ๋ฌด์จ ํ๋ฌ๊ทธ์ธ ๋ง๋ค๊ณ ์ถ์์ง ์ ๋ ๋(What do you want to build a plugin for?)์ ๋ฌด์จ ํ๋ฌ๊ทธ์ธ ๋ง๋ค์ง ์ ๊ณ ์ ์ถํ ๋ค์ ํ๋ฐฐ ์ค๋๊ฑฐ ๊ธฐ๋ค๋ฆฌ๋ ๊ฑฐ ๋ง๋ฅ ์ด๋ฉ์ผ ์กด๋ ์๋ก๊ณ ์นจ ํ๋ฉด์ OpenAI ๋ก๋ถํฐ ์จ ๋ฉ์ผ์ ์๊ฐ๋ฝ ์ชฝ์ชฝ ๋นจ๋ฉด์ ๊ธฐ๋ค๋ฆฌ๋ฉด ๋ฐ์ ์ ์๋ค(์๋ ์ฌ์ง์ ๋ฏธ๋์ ๋น์ ์ด ๋ณด๊ฒ ๋ ๋ฉ์ผ)
- ๊ฐ๋ฐ์ ๊ณ์ ์ ๋ฐ์๋ค๋ฉด, ์ด์ plugin store์ ์๋ก์ด ๋ฒํผ(Install an unverified plugin, Develop your own plugin)์ด ์๊ฒผ์ ๊ฒ์ด๋ค. Develop your own plugin ๋ฒํผ์ ๋๋ฅด๊ณ ์ ์ํ ํ๋ฌ๊ทธ์ธ์ ์ ์ถํ์(์ด ๊ณผ์ ์ด ์์ผ๋ฉด OpenAI๋ ๋น์ ์ด ๋ฌด์จ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค์๋์ง ๋ชจ๋ฅธ๋ค. ๊ผญ๊ผญ ์ ์ถ๋ง๋ค, ์ ๋ฐ์ดํธ๋ง๋ค ์์ง๋ง๊ณ ์ ์ถํ์)
- OpenAI ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ณ ์ฌ๊ธฐ๋ก ๊ฐ์ ๋งจ ๋ฐ์ plugin submission bot์ด๋ผ ์จ์ง ์ด๋ก์ ๊ธ์จ๋ฅผ ํด๋ฆญํ๋ค
- ํ๋ฌ๊ทธ์ธ์ ์ ์ํ ๋์ ์ง์ผ์ผํ ์์น์ ๋ชจ๋ ์ง์ผฐ๋๊ฐ๋ฅผ ์ฌํ์ธ ์์ผ์ฃผ๋ ์ค๋ฌธ์ ์๋ฃํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฉ์ผ์ด ๋์ฐฉํด ์์๊ฒ์ด๋ค
- ํ๋ฌ๊ทธ์ธ ๊ฒํ ์ค, ํ๋ฌ๊ทธ์ธ ์ ์ ์ฝ๊ด์ ์๋ฐฐ๋๋ ์ฌํญ์ด ์์๋ค๋ฉด, ํด๋น ์ฌํญ์ ๊ณ ์ณ๋ฌ๋ผ๋ ๋ด์ฉ์ ๋ฉ์ผ์ ๋ฐ๊ฒ ๋ ๊ฒ์ด๋ค. ๋ฌด์จ ์ฌํญ ๋๋ฌธ์ ๊ฑฐ๋ถ๋๋์ง ์น์ ํ๊ฒ ์๋ ค์ค๋ค
- ์๋ฌด ๋ฌธ์ ๊ฐ ์์ด ๋์ด๊ฐ๋ค๋ฉด, ๋ณดํต ๋น ๋ฅด๋ฉด 24์๊ฐ ๋ด์, ๋๋ฆฌ๋ฉด ์ดํ ์์ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ด plugin store์ ์ ์์ผ๋ก ๋ฑ๋ก๋์๋ค๋ ๋ฉ์ผ์ ๋ฐ๊ฒ ๋๋ค
3. ์ ์ ๋ค์ด ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ plugin store์์ ๋ค์ด ๋ฐ๊ณ ์คํ ์ํจ๋ค
4. ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ์ด์ฉ๋ API์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด๊ณ , ๊ทธ์ ๋ฐ๋ผ endpoint๋ฅผ ์์ฑํด ๊ด๋ จ ์ ๋ณด๋ฅผ ์๊ตฌํ๋ค (๋์ค์ ์ค๋ช ํ ํ ๋ ๋ชจ๋ฅด๋ฉด ์ผ๋จ ๋์ด๊ฐ์)
5. ๋น์ ์ API๊ฐ ํธ์คํ ๋ ์น์ฌ์ดํธ๊ฐ GPT๊ฐ ์ ์ endpoint ๋ด์ฉ์ ๋ฐ๋ผ GPT๊ฐ ์๊ตฌํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ๋ค ์ค๋ค (๋์ค์ ์ค๋ช ํ ํ ๋ ๋ชจ๋ฅด๋ฉด ์ผ๋จ ๋์ด๊ฐ์)
6. ๋น์ ์ ์น์ฌ์ดํธ์ ์๋ต์ ๋ฐํ์ผ๋ก ํด์ GPT๊ฐ ์์ฐ์ด๋ฅผ ์ถ๊ฐํด ์ ์ ๊ฐ ๋ณด๊ธฐ ์ข๊ฒ ๊ฐ๊ณตํด ์ ๋ฌํ๋ค
Chapter 3. ํ์ํ ๊ฒ ์์๋ณด๊ธฐ
ChatGPT ํ๋ฌ๊ทธ์ธ์ ๋ง๋๋๋ฐ์ ๋ฐ๋์ ํ์ํ๊ฒ๋ค์ด ์๋ค
- ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ฝ๋(์ธ์ด ์๊ด ์์)
- ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฅ ์คํ์ ๋์์ ์ค API(ํ๋ก๊ทธ๋๋ฐ ๊ด๋ จ ์ง์์ด ์๋ค๋ฉด, ์ด ๋ถ๋ถ์ ๋ํ ์ค๋ช ์ ์์ธํ ์ฝ๋ ๊ฒ์ ์ถ์ฒํ๋ค)
- ๋ด ํ๋ฌ๊ทธ์ธ์ด ๋ญํ๋ ํ๋ฌ๊ทธ์ธ์ธ๊ฐ๋ฅผ GPT์๊ฒ ์๋ ค์ค ํ ์คํธ(ai-plugin.json)
- ๋ด ํ๋ฌ๊ทธ์ธ์ ์ฐ์ธ API๋ฅผ GPT๊ฐ ์ด๋ป๊ฒ ์ธ ์ ์๋์ง ์๋ ค์ค ํ ์คํธ(openapi.yaml)
- ๋ด ํ๋ฌ๊ทธ์ธ์ ์ฐ์ธ API ์์ฒญ์ GPT์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๋๋ง์ ์น์ฌ์ดํธ(ํธ์คํ ์๋ฒ ํ์)
- OpenAI ๊ฐ๋ฐ์ ๊ณ์ (์ ์ถ์ฉ์, ์ด๊ฑฐ ์์ด๋ '์ ์'์ ๊ฐ๋ฅํจ)
- git
- github ๊ณ์
๋๋ถ๋ถ ์ ์์ด์ผ ํ ์ง ์ง์์ ๊ฐ๊ฒ ์ง๋ง ํ๋ก๊ทธ๋๋ฐ์ ๊ฒฝํ์ด ์๋ ๋ ์๋ค์๊ฒ ์ด๊ฒ๋ง์ผ๋ก ์ดํดํ๊ธด ์ด๋ ค์ธ ์ ์๋ค
์ง๊ธ๋ถํฐ ๊ฐ๊ฐ์ด ๋ฌด์จ ์ญํ ์ ํ๋์ง ์์๋ณด์(1๋ฒ์ ์ ์์ด์ผ ํ๋์ง ๋๋ฌด ๋น์ฐํ๋ฏ๋ก, 6๋ฒ์ ์ ์ฑํฐ์์ ์ค๋ช ํ์ผ๋ ์๋ต)
3)
๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ai-plugin.json ํ์ผ์ด ์๊ตฌ๋๋ค. ์ด๊ฒ ์์ผ๋ฉด ํ๋ฌ๊ทธ์ธ์ด ์ ์ถ์ ์ปค๋ ์๋์กฐ์ฐจ ๋ชป ํ๋ค
ai-plugin.json ํ์ผ์ด ํ๋ ์ผ์, ์์์ ๋งํ๋ฏ์ด ๊ฐ๋จํ ๋งํ๋ฉด '๋ด ํ๋ฌ๊ทธ์ธ์ ์ด๋ฐ ํ๋ฌ๊ทธ์ธ์ด์ผ~'๋ฅผ GPT์๊ฒ ๊ฐ๋ฅด์ณ ์ฃผ๋ ์ฉ๋์ด๋ค
๋ค์์ ai-plugin.json ํ์ผ์ ์์๋ค
{
"schema_version": "v1",
"name_for_human": "TODO List",
"name_for_model": "todo",
"description_for_human": "Manage your TODO list. You can add, remove and view your TODOs.",
"description_for_model": "Help the user with managing a TODO list. You can add, remove and view your TODOs.",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "http://localhost:3333/openapi.yaml"
},
"logo_url": "http://localhost:3333/logo.png",
"contact_email": "support@example.com",
"legal_info_url": "http://www.example.com/legal"
}
์์์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ชฉํด์ผ ํ ๋ถ๋ถ์
- name_for_human
- name_for_model
- description_for_human
- description_for_model
- auth
- url
- logo_url
- contact_email
- legal_info_url
name_for_human : ์ด๋ฆ ๊ทธ๋๋ก, ์ผ๋ฐ ์ ์ ๋ค์๊ฒ ๋ณด์ผ ํ๋ฌ๊ทธ์ธ์ ์ด๋ฆ์ด๋ค. ์ฐ๋ฆฌ๊ฐ plugin store์์ ๋ง์ฃผ์น๋ ์ด๋ฆ๋ค์ด ์ฌ๊ธฐ์ ์ํ๋ค. ์ ์์์์ 'Wolfram'์ ํด๋นํ๋ค
name_for_model : ์ด๊ฒ ์ญ์ ์ด๋ฆ ๊ทธ๋๋ก, ์ธ์ด๋ชจ๋ธ(GPT)์๊ฒ ๋ณด์ฌ์ง ์ด๋ฆ, ์ฆ, ChatGPT๊ฐ ๋ณด๊ฒ ๋ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ์ด๋ฆ์ด๋ฉฐ, ์ผ๋ฐ ์ ์ ๋ค์ ์ด๊ฑธ ๋ณผ ๋ฐฉ๋ฒ์ด ์๋ค
description_for_human : ์ ์ ๋ค์๊ฒ ๋ณด์ฌ์ง ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ์ค๋ช ์ด๋ค. ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ด ๋ฌด์จ ์ญํ ์ ํ๋์ง ๋ณด์ฌ์ค ์งง์ ์ค๋ช ์ด๋ค. 'Access computation, math, curated knowledge & real-time data through Wolfram|Alpha and Wolfram Language.' ๊ฐ ์ด์ ํด๋นํ๋ค.
description_for_model : ๋ชจ๋ธ์๊ฒ ๋ณด์ฌ์ง ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ์ค๋ช ์ด๋ค. ์ฌ์ค ์ด๊ฒ ๋ฌด์๋ณด๋ค๋ ์ค์ํ๋ ์ด์ ๋ํ ์์ธํ ์ค๋ช ์ ๋ค๋ก ๋ฏธ๋ค๋๊ฒ ๋ค.
auth : ์ธ์ฆ๋ฐฉ์์ด๋ค. ์ด ๊ธ์ ์ฐ๊ณ ์๋ ํ์ฌ OpenAI์์ ์๋น์ค ๋ ๋ฒจ์ธ์ฆ, OAuth๋ฅผ ์ง์ํ๋ค. ๋ฌด์จ ์๊ธด์ง ๋ชฐ๋ผ๋ ์ข๋ค. ๋ง์ฝ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ด ์ค์ ์ธ๊ณ์ ์ํฅ์ ๋ฏธ์น๋ค๋ฉด(์๋ฅผ ๋ค์ด, ์ผํ ์ฑ์์ ์ฅ๋ฐ๊ตฌ๋์ ํ๋ชฉ์ ๋ด๋ ๊ธฐ๋ฅ์ ํ๋ค๋ฉด) ๋ฐ๋์ ์ค์ ํด์ผ ํ๋ค.
url : ๋น์ ์ด ํ๋ฌ๊ทธ์ธ์ด ํธ์คํ
๋๊ณ ์๋ ๋ฉ์ธ ์ฃผ์ ๋งํฌ๋ฅผ ์ ๋ ๋์ด๋ค. ํธ์คํ
์ฑํฐ์์ ์์ธํ ์ค๋ช
ํ๊ฒ ๋ค.
logo_url : ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ๋ก๊ณ ๋ฅผ ํธ์คํ ํ๊ณ ์๋ ์ฃผ์์ด๋ค. ์์ด๋ ๋ ๊ฒ ๊ฐ์ง๋ง ์๋๋ค.
contact_email : ์ด๋ฆ ๊ทธ๋๋ก, ๊ฐ๋ฐ์์ธ ๋น์ ์ ์ด๋ฉ์ผ์ ์ ๋ ๋์ด๋ค. ์ด ์ญ์๋ ์์ผ๋ฉด ์๋๋ค.
regal_info_url : ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ ๋ฒ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํํ์ด์ง์ ์ฃผ์๋ฅผ ์ ๋ ๋์ด๋ค. ๋ํ ์์ด์ ์๋๋ค.
๊ฐ๊ฐ์ ํญ๋ชฉ์ ์ ๋๋ฐ์๋ ๋ฐ๋์ ์ง์ผ์ผํ ์์น์ด ์์ผ๋ฉฐ, ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ถ์ฒ : https://platform.openai.com/docs/plugins/getting-started/plugin-manifest
name_for_human : ์ต๋ 20์(์ํ๋ฒณ ๊ธฐ์ค)
name_for_model : ์ต๋ 50์, ๋์ด์ฐ๊ธฐ ์์ด ๋ฌธ์์ ์ซ์๋ก๋ง ๊ตฌ์ฑ
description_for_human : ์ต๋ 100์
description_for_model : ์ต๋ 8000์, ์ ์ด๋ ๊ฒ ๊ธธ๊ฒ ์ธ ์ ์๋์ง๋ ๋์ค์ ์ค๋ช
ํจ
logo_url : GIF ํฌ๋งท์ ๋ก๊ณ ๋ ํ์ฉํ์ง ์์, png ํฌ๋งท์ผ๋ก ํด์ผ ํจ
๊ฐ๋ฅํ ๊ธฐ๋ฅ๋ง ์ ์ํ ๊ฒ
์ฌ๋ฐ๋ฅธ ๋ฌธ๋ฒ์ผ๋ก ์์ฑํด์ผ ํ๋ฉฐ, ๊ตฌ๋๋ฒ์ ์งํฌ ๊ฒ
์ด๋ฆ์ด๋ ์ค๋ช ์ plugin, chatgpt, gpt, openai ์ ๊ฐ์ ๋ด์ฉ์ด ๋ค์ด๊ฐ์ ์ ๋จ
์ง์ญ ํน์์ (geographical limitations)์ธ ๊ธฐ๋ฅ์ด ์์ ๊ฒฝ์ฐ, ์ ์ด ๋์ ๊ฒ
์ด์ ์ค๋ช ์ ๋ฒผ๋ ค์๋ description_for_model์ ์ค๋ช ํ๊ฒ ๋ค
description_for_model์ ์ด๋ฆ๋งํผ ๋จ์ํ์ง๋ง, ๊ฒฐ์ฝ ์ํฉํธ๊ฐ ์ ์ง ์๋ค. ์์๋ก, ๋ด๊ฐ ๋ง๋ ํ ํ๋ฌ๊ทธ์ธ์ description_for_model์ 6000์๊ฐ ๋๋๋ค.
description_for_model์ ๋น์ ์ ํ๋ฌ๊ทธ์ธ์ด ํ๋ฌ๊ทธ์ธ์ด ๋ฌด์จ ์ญํ ์ ํ๋์ง๋ฅผ ์ค๋ช
ํ๋ ๊ณต๊ฐ์ด๋ค.
OpenAI ์คํผ์ ๋ก, ChatGPT๋ ํ๋ฌ๊ทธ์ธ์ ์ธ์ ์ธ์ง ์์์ ์์๋จน๋๋ค๊ณ ๋์์๋๋ฐ(Try a version of ChatGPT that knows when and how to use third-party plugins that you enable.), ๋ค ๊ฐ๋ปฅ์ด๋ค. ์ด๊ฑฐ๋ณด๊ณ ์๋ ๊ฑฐ๋ค.
ํ๋ฌ๊ทธ์ธ์ด ๋ฌด์จ ์ญํ ์ ํ๋์ง๋ฅผ ์ค๋ช
ํ ์ ์๋ค๋ ๊ฒ์, ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋น์ ์ด ์ ์ ์ ์์์ ์๋ฏธํ๋ค
- ๋น์ ์ด ์ธ์ (๋ฌด์จ ์ํฉ์) ChatGPT๊ฐ ์ด ํ๋ฌ๊ทธ์ธ์ ์ผ์ผ๋ฉด ํ๋๊ฐ
- ChatGPT๊ฐ ์ด ํ๋ฌ๊ทธ์ธ์ ์ด๋ค ์์ผ๋ก ํ์ฉํ์ผ๋ฉด ํ๋๊ฐ
์์๋ก, ๋ด๊ฐ ๋ง๋ ํ ํ๋ฌ๊ทธ์ธ์ description_for_model field๋ฅผ ๊ณต๊ฐํ๊ฒ ๋ค
Plugin for retrieving YouTube video captions. You can retrieve captions from any YouTube video by providing its URL. You can also use the caption for translating and summarizing the video. You can select which language and type to retrieve, the type has set to manual by default, and retrieve language which user's language used for retrieving request if there's no mention of it. If there's no manually created captions available, retrieve auto generated one. When being asked to translate, try to retrieve English caption, if there's none, list available language and retrieve the easiest one you can translate, then translate it by yourself.
์ฌ๊ธฐ์ ๋ด๊ฐ ChatGPT์๊ฒ ์์ฒญํ๋ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค
- ์ด ํ๋ฌ๊ทธ์ธ์ ์ ํ๋ธ ์์ ๋งํฌ๋ก๋ถํฐ ์๋ง์ ์ถ์ถํ๋๋ฐ์ ์ฌ์ฉํ ๊ฒ
- ์๋ง์ ์ถ์ถํ ๋ค, ๊ทธ ์์์ ์์ฝ ๋๋ ๋ฒ์ญํด๋ฌ๋ผ๋ ์ ์ ์ ์์ฒญ์ ์ํ ๊ฒ
- ์๋ง ํฌ๋ฉง์ ๋ํด ์๋ฌด ๋ง๋ ์์ผ๋ฉด ๊ทธ๋ฅ ๋ด์ฉ๋ง ์ถ์ถํ ๊ฒ
- ์๋ง์ srt ํฌ๋ฉง(ํ์ ์คํฌํ๊ฐ ์๋ ๋ฒ์ )์ผ๋ก ์ถ์ถํด๋ฌ๋ผ ์์ฒญํ๋ฉด ๊ทธ๋ ๊ฒ ํด์ค ๊ฒ
- ์ ์ ๊ฐ ์ด๋ค ์ธ์ด์ ์๋ง์ ์ถ์ถํด๋ฌ๋ผ ์ง์ ํ์ง ์์๋ค๋ฉด, ์ ์ ๊ฐ ์์ฒญ์ ํ ๋ ์ด์ฉํ๋ ์ธ์ด์ ์๋ง์ ์ฐ์ ์ ์ผ๋ก ์ฐพ์๋ณผ ๊ฒ
- ์ ์ ๊ฐ ์ง์ ์ ์ํ ์๋ง์ด ์๋ค๋ฉด, ์๋ ์์ฑ ์๋ง์ ๋์ ํด์ ์ถ์ถํ ๊ฒ
- ๋ฒ์ญ์ ํด๋ฌ๋ผ ์์ฒญ์ ๋ฐ์์ ๊ฒฝ์ฐ, ์์ด ์๋ง์ ๊ฐ์ ธ์ ๋ฒ์ญ ํ ๊ฒ. ๋ง์ฝ ์์ด ์๋ง์ด ์๋ค๋ฉด, ๋๊ฐ ๋ฒ์ญํ๊ธฐ ์ ์ผ ์์ ์๋ ์๋ง์ ๊ฐ์ ธ์ฌ ๊ฒ.
์์ ์์ฒญ ์ฌํญ๋ค์ ํฌ๊ฒ 4๊ฐ์ง๋ก ๋๋ ์ ์๋ค
1. ์ธ์ ์ด ํ๋ฌ๊ทธ์ธ์ ์ฐ๋๊ฐ
- ํ๋ฌ๊ทธ์ธ์ ์ ํ๋ธ ์์ ๋งํฌ๋ก๋ถํฐ ์๋ง์ ์ถ์ถํ๋๋ฐ์ ์ฌ์ฉํ ๊ฒ
- ์๋ง์ ์ถ์ถํ ๋ค, ๊ทธ ์์์ ์์ฝ ๋๋ ๋ฒ์ญํด๋ฌ๋ผ๋ ์ ์ ์ ์์ฒญ์ ์ํ ๊ฒ
- ๋ฒ์ญ์ ํด๋ฌ๋ผ ์์ฒญ์ ๋ฐ์์ ๊ฒฝ์ฐ, ์์ด ์๋ง์ ๊ฐ์ ธ์ ๋ฒ์ญ ํ ๊ฒ. ๋ง์ฝ ์์ด ์๋ง์ด ์๋ค๋ฉด, ๋๊ฐ ๋ฒ์ญํ๊ธฐ ์ ์ผ ์์ ์๋ ์๋ง์ ๊ฐ์ ธ์ฌ ๊ฒ.
- ์๋ง์ srt ํฌ๋ฉง(ํ์ ์คํฌํ๊ฐ ์๋ ๋ฒ์ )์ผ๋ก ์ถ์ถํด๋ฌ๋ผ ์์ฒญํ๋ฉด ๊ทธ๋ ๊ฒ ํด์ค ๊ฒ
- ์๋ง ํฌ๋ฉง์ ๋ํด ์๋ฌด ๋ง๋ ์์ผ๋ฉด ๊ทธ๋ฅ ๋ด์ฉ๋ง ์ถ์ถํ ๊ฒ
- ์ ์ ๊ฐ ์ด๋ค ์ธ์ด์ ์๋ง์ ์ถ์ถํด๋ฌ๋ผ ์ง์ ํ์ง ์์๋ค๋ฉด, ์ ์ ๊ฐ ์์ฒญ์ ํ ๋ ์ด์ฉํ๋ ์ธ์ด์ ์๋ง์ ์ฐ์ ์ ์ผ๋ก ์ฐพ์๋ณผ ๊ฒ
description_for_model์ ์์ฑํ๋ ๊ฒ์ ์ ๋ง๋ก ์ฌ์ด ์ผ์ด๋ ๊ฑฑ์ ๋ง์.
์์์์ ์ ์ ์๋ฏ์ด, ์ด๊ฑธ ์ฝ๋ ์ฃผ์ฒด๊ฐ GPT์ด๋ ๋งํผ, ์ด ๋ถ๋ถ์ ์์ฐ์ด(๊ทธ๋ฅ ํ์์ GPT๋ ๋ํํ๋ฏ์ด)๋ก ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋๋ค!
2), 4), 5)
์์ผ๋ก ์ค๋ช ํ ๋ด์ฉ์ ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ์ ํ์ํ 'API'๋ ๋์ ๋ํ ๊ฑฐ๋ค
ํ๋ก๊ทธ๋๋ฐ ์ง์์ด ์๋๋ผ๋ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค ์ ์๋๋ก ํ๋ ๊ธ์ ์ฐ๊ฒ ๋ค๊ณ ์ ๋ชฉ์ ๋กํ๋ ๊ฑธ์ด๋จ์ผ๋ ์ค๋ช ์ ํ๊ฒ ๋ค๋ง,
๋ฑ ํ๋ฌ๊ทธ์ธ ์ ์ ์ดํด๋ง ๋์ธ ์ ๋๋ก ์๋ ค์คํ ๋, API์ ๋ํด ๋ ์ ๋ฌธ์ ์ผ๋ก ์์๋ณด๊ณ ์ถ์ผ๋ฉด ๋ด ๋ฐ๋ฅผ ์ฐพ๊ธธ ๋ฐ๋๋ค
๋ผ๋ฉฐ ์ง์ ์ค๋ช ํด๋ณด๋ ค๊ณ ํธ๊ธฐ๋กญ๊ฒ ์์ํ์ง๋ง, ์์ฐ์ค์ GPTํํ ๋ฌผ์ด๋ณด๋ ์ ์ ๋ด๊ฐ ์ค๋นํ ๋ด์ฉ๋ณด๋ค ์ค๋ช ์ ๋๋ฌด ์ํด์ ๊ทธ๋ฅ ๋ณต๋ถํ๊ฒ ๋ค
์์์ ์ ์์ํด๋ด ์๋ค. ์์์ ์ ๊ณ ๊ฐ๋ค์ด ์ํ๋ ์์์ ๋ง๋ค์ด์ฃผ๋ ๊ณต๊ฐ์ ๋๋ค. ๊ณ ๊ฐ๋ค์ ๋ฉ๋ด๋ฅผ ๋ณด๊ณ ์ํ๋ ์์์ ์ ํํ๊ณ ์ฃผ๋ฌธํ๋ฉด, ์ฃผ๋ฐฉ์์ ํด๋น ์๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๊ณ ๊ณ ๊ฐ์๊ฒ ์ ๊ณต๋ฉ๋๋ค.
์ด ์ํฉ์์ API(Application Programming Interface)๋ ๋ฉ๋ด์ ์ฃผ๋ฌธ์ ๋ฐ๋ ์๋น ์ง์์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค. ๊ณ ๊ฐ์ด ํน์ ์๋ฆฌ๋ฅผ ์ ํํ๋ฉด, ๊ทธ ์์ฒญ์ ์ฃผ๋ฐฉ์ผ๋ก ์ ๋ฌํ๊ณ , ์ฃผ๋ฐฉ์์ ๋ง๋ค์ด์ง ์์์ ๊ณ ๊ฐ์๊ฒ ๊ฐ์ ธ๋ค์ค๋๋ค.
๊ฐ์ ๋ฐฉ์์ผ๋ก, API๋ ํ๋ก๊ทธ๋จ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ '์ค๊ฐ์' ์ญํ ์ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ด ํน์ ๊ธฐ๋ฅ์ ์์ฒญํ๋ฉด, API๋ ๊ทธ ์์ฒญ์ ์์คํ ์ผ๋ก ์ ๋ฌํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ฐํํฉ๋๋ค. ์ด๋ฐ ๊ณผ์ ์ ํตํด ํ๋ก๊ทธ๋จ๋ค์ ๋ค๋ฅธ ์์คํ ์ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ API๋ ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ, ์ ํ๋ฆฌ์ผ์ด์ , ์๋น์ค ์ฌ์ด์ 'ํต์ญ์ฌ'๋ '๋ฉ์ ์ ' ๊ฐ์ ์ญํ ์ ํ๋ฉฐ, ์ด๋ค ์ฌ์ด์์ ์ ๋ณด์ ๋ช ๋ น์ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ํด์ค๋๋ค.
"ํน์ ์๋ฆฌ"๋ API๋ฅผ ํตํด ์์ฒญ๋๋ ํน์ ๊ธฐ๋ฅ์ด๋ ์๋น์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ์จ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ฒญ, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ฒญ, ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ๊ฒ์ํ๋ ์์ฒญ ๋ฑ์ด ๋ ์ ์์ต๋๋ค.
"์ฃผ๋ฐฉ"์ ์ด๋ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ๋ฐฑ์๋ ์์คํ ์ ์๋ฏธํฉ๋๋ค. ์ด ์์คํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์๋ฒ, ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค, ๋๋ ๋ค๋ฅธ ์ข ๋ฅ์ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ผ ์ ์์ต๋๋ค.
์์ฝํ๋ฉด, "ํน์ ์๋ฆฌ" ์์ฒญ์ ์ฌ์ฉ์(๋๋ ๋ค๋ฅธ ์์คํ )์ด API๋ฅผ ํตํด ์ํ๋ ์๋น์ค, ๋ฐ์ดํฐ ๋๋ ์์ ์ ๋ํ๋ด๊ณ , "์ฃผ๋ฐฉ"์ ๊ทธ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ์์คํ ์ ์๋ฏธํ๋ ๊ฒ์ ๋๋ค.
๋ค์ ๋ด ์ค๋ช ์ผ๋ก ๋์์์,
openapi.yaml์ ์ด๋ฐ '์์ฒญ'์ ์ด๋ป๊ฒ ํ๋ฉด ๋๋์ง์ ๊ดํด ์ ์ด๋์ GPT๋ฅผ ์ํ ์ผ์ข ์ '์ค๋ช ์'๋ค.
OpenAI๊ฐ ์ง์ ๊ณต๊ฐํ ์์๋ ์๋์ ๊ฐ๋ค
openapi: 3.0.1
info:
title: TODO Plugin
description: A plugin that allows the user to create and manage a TODO list using ChatGPT.
version: 'v1'
servers:
- url: http://localhost:3333
paths:
/todos:
get:
operationId: getTodos
summary: Get the list of todos
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getTodosResponse'
components:
schemas:
getTodosResponse:
type: object
properties:
todos:
type: array
items:
type: string
description: The list of todos.
๊ด๋ จ ์ง์์ด ์๋ค๋ฉด ๋ญ๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋ ์ง๋ ์๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค
๊ด๋ จ ์ง์์ด ์์ด๋ ๊ด์ฐฎ๋ค! ๋ฏธ๋ฆฌ ์คํฌ๋ฅผ ํ์๋ฉด, ์ด์ฐจํผ ์ด๊ฑธ ์ ๋ ๊ฒ์ ๋น์ ์ด ์๋ ๊ฒ์ด๋ค...
๋น์ ์ ์๋ฒ๊ฐ ์ฌ์ฉ๋๋ ์ฉ๋๋ ๋ค์๊ณผ ๊ฐ๋ค
- ai-plugin.json, openapi.yaml, ํ๋ฌ๊ทธ์ธ ๋ก๊ณ ํ์ผ ํธ์คํ
- API ์์ฒญ ๋ฐฑ์ค๋ ์๋ฒ
๊ธ์จ์ค๊ฑฐ ๊ณ ๋ง์ด๋ฐ ๋๋ง ๊ธ์ด ํฌ๋ฏธํ๊ฒ ๋ณด์ด๋๊ฑฐ๋
์ ๋คํฌ ๋ชจ๋๋ก ์จ์ ๋๋ง ์ ๋ช ํ๊ฒ ๋ณด์ด๋ค ์์ ํจ
์ ์ฐธ๊ณ ๋ก ๋ด๊ฐ ๋ง๋ ํ๋ฌ๊ทธ์ธ์ plugin store์ yt caption retriever ์น๋ฉด ๋์
ํ๋ฌ๊ทธ์ธ์ด ๋ง์ด ์ฐ์ฌ๋ ์ ์์ํํ ๋์๊ฐ๋ ์์ต์ ์๋ ๊ฑฐ์?
ํ๋ฌ๊ทธ์ธ ์ค ๊ตฌ๋ ๋ฃ๋ฅผ ๋ด๋๋ก ํ๋ ํ๋ฌ๊ทธ์ธ์ด ๋ช ์๋๋ฐ ์ด๊ฑฐ๊น์ง ๋ด๊ฐ ์ด๋ป๊ฒ ํ๋์ง ๋ชจ๋ฆ... ์ผ๋จ ๊ทธ๊ฑฐ ์์ผ๋ฉด ํ๋ฌ๊ทธ์ธ์ ๊ทธ๋ฅ ๋ฌด๋ฃ์
ํ๋ฌ๊ทธ์ธ ์์ต๋ชจ๋ธ์ด ์์ผ๋ก ์ด๋ป๊ฒ ๋ ์ง ๊ด์ฌ์ด ๊ฐ๋ค์
ใ ใ ์ค์ผ ์ ์ฑ๊ธ์ด๋ ์ค.๋ฒ ์ธ
๊ณ ๋ง์๋๋ค..
์ ์ฑ์ ๋ณด๊ธ ๊ฐ์ถ