๋ค๋ฅธ ํ์๋ค์๊ฒ ๊ณต์ ํ๋ ค๊ณ ์ ์ ๊ฑฐ ์๊ธฐ์๋ ๋จ๊ฒจ๋ด
๋๋น~ ๋ฒ๋ธ์ ๊ฑฐ์ ๋ชจ๋ฅด๋ ๋๊ตฐ๊ฐ์๊ฒ gpt api ์ฐ๋ ์์ฒด์๋ง ์ด์ ์ ๋๋ ๊ธ์ด์ด์ ๋๋ก ๋๋ฌด ์ฌ์ด ๊ฐ๋
์ด, ๋๋ก ๋๋ฌด ์๋ตํ ๊ฐ๋
์ด ์์ ์ ์์ต๋๋ค. ๋ญ ์ ์ด๋๋ฉด ๋๊ตฐ๊ฐ์๊ฒ๋ ๋์๋๊ฒ ์ง..
1. Open AI API ํ๋ ์ด๊ทธ๋ผ์ด๋์์ ์ค์
- system ํ๋กฌํํธ ์ธํ
- user ํ๋กฌํํธ ์
๋ ฅ ํ submit
- assistant ๋ด์ฉ์ด gpt output
2. Bubble.io API ์ค์
2-1) ๋ฒ๋ธ ์ฑ ์์ฑ, API Connector ์ค์น
- bubble.io ๊ฐ์
ํ โcreate a new appโ
- app editor ๋ค์ด๊ฐ์ ์ข์ธก โPluginsโ ํญ ์ง์
- ์ฐ์ธก์๋จ โAdd pluginsโ ๋๋ฌ์ โAPI Connectorโ ์ค์น
- ์ฐธ๊ณ :
- ๋ฒ๋ธ ๋ฌด๋ฃํ๋์์๋ api ์ฐ๋ ๋ถ๊ฐ
- ์ฒ์ ์ฑ ์์ฑ ์ 2์ฃผ free trial ์ ๊ณต
- ๊ฐ์ฅ ๋ฎ์๊ธ์ก ์ ๋ฃํ๋(starter) ์32๋ฌ๋ฌ
2-2) Add another call ๋๋ฌ์ ์๋ก์ด API ์์ฑ
- API Name์ ํธํ๊ฒ ์ค์ . ์ถํ ๋ฒ๋ธ์์ workflow๋ก API ์ฐพ์ ๋ ํด๋น ์ด๋ฆ์ผ๋ก ์ฐพ๊ฒ ๋จ.
- ์๋ โAPI Callโ ์ ์ค์ ํ๊ธฐ ์ํด์๋ ์ฐ์ธก ์๋จ expand ํด๋ฆญ
2-3) Playground view code๋ฅผ ๋ณด๊ณ API ์ธํ
- ์์ 1๋ฒ ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ธํ
์์ โview codeโ ๋๋ ์ ๋ ๋์ค๋ ํ์
- ์ฐ์ธก์๋จ curl ๋ฐฉ์์ผ๋ก ์ ํ
- POST ๋ฐฉ์ ํ์ธ, endpoint url ํ์ธ, header ๊ฐ ํ์ธ, body data ํ์ธ
- Header ๋ถ๋ถ key, value ์
๋ ฅ
- API Key ๊ฐ ์์ โBearer โ๊ฐ ์๊ตฌ๋๋ ๊ฒ ๋ฐ๋์ ํ์ธ
- ์๋ API call ์ค์ ์ ์ํด ์ฐ์ธก ์๋จ expand ํด๋ฆญ
2-4) API call ์ธํ
- ํธ์ถ๋ฐฉ์(POST)์ endpoint url ์
๋ ฅ
- Use as โActionโ โ ์ก์
ํ์
์ด์ด์ผ ๋ฒ๋ธ workflow์์ ๋ถ๋ฌ์ฌ ์ ์์
- Data type โJSONโ โ open ai API ๋ ๊ธฐ๋ณธ์ ์ผ๋ก json type์ผ๋ก ์ฃผ๊ณ ๋ฐ์
- Body ๋ถ๋ถ์ ํ์
์ -d ๊ฐ ์
๋ ฅ
- ๋จ, role:assistant ๋ถ๋ถ์ gpt์ ์๋ต๋ถ๋ถ. ์
๋ ฅํ ํ๋กฌํํธ๊ฐ ์๋๋ฏ๋ก ์ ์ธ
- <๋ณ์๋ช
>์ ์ฐ๋ฉด ์๋์ผ๋ก ์๋ Body parameters๊ฐ ์๊น
- ์ถ๊ฐ๋ก ๋ชจ๋ธ๋ช
์ด๋ max_tokens ๋ฑ ํ๋ผ๋ฏธํฐ ๊ฐ๋ค์ <model> ๋ฑ์ผ๋ก ๋ณ์์ง์ ํ์ฌ ๋์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉด ์์
- Body parameters ๋ถ๋ถ์ key ๊ฐ์ body์์ ๋ณ์ ๊ธฐ์
ํ๋ฉด ์๋์ผ๋ก ์์ฑ๋จ
- value ๊ฐ์ ๋ํดํธ๋ก ์ ์ฉ๋ ๊ฐ์ ๊ธฐ์
- Private ์ฒดํฌํ๋ฉด value๊ฐ์ ๊ธฐ์
๋ ๋ํดํธ๊ฐ์ ํญ์ ๋ฐํ
- Private ์ฒดํฌ ํด์ ํด์ผ ์ด๊ณณ์ ๋ค์ด๊ฐ value๋ฅผ ๋์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์
- Initalize call ๋ฒํผ ํด๋ฆญ (์ ๋ ํ ๋ฒ ์ด๊ธฐํ ํด์ re๊ฐ ๋ถ์)ํ์ฌ ์ด๊ธฐํ ์งํ
(์ฐธ๊ณ ) ๋ค๋ฅธ ํ๋ผ๋ฏธํฐ๋ค์ ๋ณ์๋ก ์ค์ ํ์ฌ ๋์ ๊ด๋ฆฌํ๋ ๋ฒ
- ์๋์ ๊ฐ์ ํ์
์ด ๋ ์ผ ์ด๊ธฐํ ์ฑ๊ณต
- gpt ์ ์๋ต์ด ์ด๋ค ๊ตฌ์กฐ๋ก ๋ฐ์์ง๋์ง ํ์ธ๊ฐ๋ฅ
- ์๋ Show raw data ๋๋ฌ์ ์ค์ gpt ์๋ต์ ๊ตฌ์กฐ๋ฅผ raw ํํ๋ก ํ์
- ์ฐ๋ฆฌ๊ฐ ์ํ๋ gpt ์๋ต์
- choices ๋ฐฐ์ด์ 1๋ฒ์งธ ๊ฐ์ message์ content ์ ๋ด๊ฒจ์์ฃ ? (์ด๊ฑฐ ์ค์! ๋ฒ๋ธ์์ gpt ์๋ต ๋ฐ์์ค๋ ํํ์์ ํ์ฉ๋จ)
3. ๋ฒ๋ธ์์ ํ๋ก ํธ ๋ง๋ค๊ธฐ
- ์์ธํ ์ค๋ช
์ ์๋ต (๋ณธ ๊ฒ์๊ธ์ api ์ฐ๋ ๋ฐฉ๋ฒ์ ์ด์ )
- ๋ฐ์ดํฐํ์
๊ณผ ํ๋ก ํธ ํ๋ฉด ์๋์ ์บก์ฒ๋ก ๊ณต์ . ์ถ๊ฐ ์์ธํ ์ค๋ช
์ด ํ์ํ๋ค๊ณ ํ๋จ๋๋ ๊ฒฝ์ฐ ์ถํ ๊ฒ์๊ธ ์์ .
- ์ด๊ณณ์์ gpt ์๋ต์ ํ์ธํ ์ ์์
4. ๋ฒ๋ธ ๋ฐฑ์๋ ์ํฌํ๋ก์ฐ ์ค๊ณํ๊ธฐ
- โ์์ฑโ ๋ฒํผ > Edit workflow
- step1 ์์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ API ํธ์ถ ๋ถ๋ฌ์ค๊ธฐ
- ๋ณ์๋ก ์ค์ ํ๋ ์์คํ
, ์ ์ ํ๋กฌํํธ ๊ฐ์ ๋์ ์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ
- ํ๋ก ํธ ๋จ์์ prompt ์
๋ ฅํ๋ multiline input ์๋ ๋ฉํธ์ value๋ฅผ ์ํฌํ๋ก ๋จ์์ ๋์ ์ผ๋ก ๋ฃ์ด์ค ์ ์์
- custom state(์์์ ์ฅ์) ์ gpt response๋ฅผ ์ ์ฅ
- result of step 1 โ API ํธ์ถ์ ๊ฒฐ๊ณผ(=gpt ์๋ต)
- ๋ค์ choice์ ์ฒซ๋ฒ์งธ ์์ดํ
์ ๋ฉ์์ง content ์ด๊ฑด ์์ gpt ์๋ต ๊ตฌ์กฐ๋ก ํ์
ํ ๊ฒ
- (์์ ๊ธ ์บก์ณํด์ด)
5. ๋ฒ๋ธ์์ ํ
์คํธ ๋๋ ค๋ณด๊ธฐ
- ์ง๊ธ ์งํผํฐ๊ฐ ๋๋ฆฐ์ง.. ๋ฒ๋ธ์ด ๋๋ฆฐ์ง.. api ์๋ต ๋ฐ๋ ๊ฒ ์ข ๋๋ฆฌ๋ค์ฉ. ๊ทธ๋์ ์์ ์ค๊ฐ์ ๋ก๋ฉ ์๋ผ์ ํธ์งํ์ต๋๋ค.
- ํ์ผ๋ก ์ฒจ๋ถํ์์ต๋๋ค.
๋ ์์ธํ ์๋ฃ์ ํจ๊ป ๋ณด๊ณ ์ถ์ผ์๋ค๋ฉด ์๋ ์๋ฌธ ๋ณด๋ฌ๊ฐ๊ธฐ๋ฅผ ํด๋ฆญํด์ฃผ์ธ์ :) |