ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toBackend
์๋ฌธ ์ฝ๊ธฐ
Firebase Cloud Functions ๊ธฐ๋ฐ OpenAI API ๋ณด์ ๋ฐ ๋น์ฉ ์ ์ด ์ค๊ณ
๐ 1. How I Built a Production-Ready AI Chat App in FlutterFlow (With OpenAI + Firebase)
AI ์์ฝ
Context
Low-code ๋๊ตฌ์ธ FlutterFlow ์ฌ์ฉ ์ Frontend ๋ด API Key ๋ ธ์ถ ์ํ ๋ฐ ๋ฌด๋ถ๋ณํ ํ ํฐ ์ฌ์ฉ์ผ๋ก ์ธํ ๋น์ฉ ์ฆ๊ฐ ๋ฌธ์ ์ง๋ฉด. ํด๋ผ์ด์ธํธ ์ค์ฌ ์ค๊ณ์ ๋ณด์ ์ทจ์ฝ์ ๊ณผ ์ด์ ๋น์ฉ ๊ด๋ฆฌ์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ ๋์ ํ์์ฑ ์ ๊ธฐ.
Technical Solution
- API Key ์ ์ถ ๋ฐฉ์ง๋ฅผ ์ํด Frontend ์ง์ ํธ์ถ ๋์ Firebase Cloud Functions๋ฅผ ๊ฒฝ์ ํ๋ Proxy ๊ตฌ์กฐ ์ค๊ณ
- Firestore๋ฅผ ํ์ฉํ ์ฌ์ฉ์๋ณ Chat history ์ ์ฅ ๋ฐ ์ค์๊ฐ UI ์ ๋ฐ์ดํธ๋ฅผ ์ํ ๋ฐ์ดํฐ ์คํค๋ง ์ ์
- OpenAI API ํธ์ถ ๋จ๊ณ์์ ๋ฉ์์ง ๊ธธ์ด๋ฅผ ์ ํํ๋ Token Usage ์ ์ด ๋ก์ง ๊ตฌํ
- ๋ฌด๋ฃ ์ฌ์ฉ์ ๋์ ์ผ์ผ ์์ฒญ ํ์๋ฅผ ์ ํํ๋ Quota ์์คํ ๊ตฌ์ถ์ ํตํ ๋น์ฉ ์ต์ ํ
- Firestore์ timestamp ๊ธฐ๋ฐ ์ ๋ ฌ์ ํตํ ๋ํ ๋งฅ๋ฝ ์ ์ง ๋ฐ ํจ์จ์ ์ธ ๋ฐ์ดํฐ retrieval ๊ตฌ์กฐ ์ฑํ
์ค์ฒ ํฌ์ธํธ
- API Key ๋ณด์์ ์ํด Backend Proxy Layer ๊ตฌ์ถ ์ฌ๋ถ ๊ฒํ - LLM ๋์ ์ Token Usage ๊ธฐ๋ฐ์ ๋น์ฉ ์ ์ด ๋ฐ ์ฌ์ฉ์๋ณ Rate Limit ์ค์ ์ ์ฉ - Low-code ํ๊ฒฝ์์๋ ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ๋ฅผ ์ํด ์๋ฒ๋ฆฌ์ค ํจ์ ํ์ฉ ๊ณ ๋ ค