๐ง Chat SDK๋?
Chat SDK๋ Next.js 14์ AI SDK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ์คํ์์ค ์ฑ๋ด ํ
ํ๋ฆฟ์ด์ผ. ๋น ๋ฅด๊ฒ ๊ฐ๋ ฅํ ์ฑ๋ด ์ฑ์ ๋ง๋ค ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ๋ค์ด ํฌํจ๋ผ ์์ด.
๐ ์ฃผ์ ๊ธฐ๋ฅ
Next.js App Router
๊ณ ๊ธ ๋ผ์ฐํ ๊ธฐ๋ฅ์ผ๋ก ๋น ๋ฅด๊ณ ๋ถ๋๋ฌ์ด ํ์ด์ง ์ ํ
React Server Components์ Server Actions๋ก ์ฑ๋ฅ ํฅ์
AI SDK
ํ ์คํธ ์์ฑ, ๊ตฌ์กฐํ๋ ๊ฐ์ฒด, ํด ํธ์ถ ๋ฑ์ ์ํ ํตํฉ API
๋์ ์ธ ์ฑ UI๋ฅผ ๋ง๋ค ์ ์๋ ํ ์ ๊ณต
xAI, OpenAI, Fireworks ๋ฑ ๋ค์ํ ๋ชจ๋ธ ์ง์
shadcn/ui
Tailwind CSS ๊ธฐ๋ฐ์ ์คํ์ผ๋ง
Radix UI ์ปดํฌ๋ํธ๋ก ์ ๊ทผ์ฑ๊ณผ ์ ์ฐ์ฑ ํ๋ณด
๋ฐ์ดํฐ ์ ์ฅ
Neon Serverless Postgres๋ก ์ฑํ ๊ธฐ๋ก๊ณผ ์ฌ์ฉ์ ๋ฐ์ดํฐ ์ ์ฅ
Vercel Blob์ผ๋ก ํ์ผ ์ ์ฅ
Auth.js
๊ฐ๋จํ๊ณ ์์ ํ ์ธ์ฆ ๊ธฐ๋ฅ ์ ๊ณต
๐ค ๋ชจ๋ธ ์ ๊ณต์
๊ธฐ๋ณธ์ ์ผ๋ก Vercel AI Gateway๋ฅผ ํตํด ์ฌ๋ฌ AI ๋ชจ๋ธ์ ์ ๊ทผํด. ๊ธฐ๋ณธ ์ค์ ์ xAI์ grok-2-vision-1212, grok-3-mini ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ์์ด.
Vercel์ ๋ฐฐํฌํ๋ฉด ์ธ์ฆ์ ์๋ ์ฒ๋ฆฌ๋จ
Vercel ์ธ ๋ฐฐํฌ ์ .env.local ํ์ผ์ AI_GATEWAY_API_KEY ์ค์ ํ์
OpenAI, Anthropic, Cohere ๋ฑ ๋ค๋ฅธ ๋ชจ๋ธ๋ก ์ฝ๊ฒ ์ ํ ๊ฐ๋ฅ
# AI Gateway API ํค (Vercel ์ธ ๋ฐฐํฌ ์ ํ์)
AI_GATEWAY_API_KEY=your_ai_gateway_api_key_here
# ์ธ์ฆ ๊ด๋ จ ์ค์ (Auth.js ์ฌ์ฉ ์)
NEXTAUTH_SECRET=your_nextauth_secret_here
NEXTAUTH_URL=http://localhost:3000
# ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ (Neon ์ฌ์ฉ ์)
DATABASE_URL=your_neon_postgres_connection_url
# ํ์ผ ์ ์ฅ์ (Vercel Blob ์ฌ์ฉ ์)
BLOB_READ_WRITE_TOKEN=your_vercel_blob_token
p```
๐งฉ ์ค์น ๋ฐ ๋ก์ปฌ ์คํ ๋ฐฉ๋ฒ
Vercel CLI ์ค์น
bash
npm i -g vercel
Vercel ๋ฐ GitHub ๊ณ์ ๊ณผ ์ฐ๊ฒฐ
bash
vercel link
ํ๊ฒฝ ๋ณ์ ๋ค์ด๋ก๋
bash
vercel env pull
ํจํค์ง ์ค์น ๋ฐ ์คํ
bash
pnpm install
pnpm dev
๋ธ๋ผ์ฐ์ ์์ ํ์ธ http://localhost:3000
โ ๏ธ .env ํ์ผ์ ์ ๋ ์ปค๋ฐํ์ง ๋ง์ธ์. API ํค์ ์ธ์ฆ ์ ๋ณด๊ฐ ๋
ธ์ถ๋ ์ ์์ด์.