Skip to main content
Sonamu๋Š” Vercel AI SDK๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ AI ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ์ƒ์„ฑ, ์ŠคํŠธ๋ฆฌ๋ฐ, ๋„๊ตฌ ํ˜ธ์ถœ, ์Œ์„ฑ ์ธ์‹ ๋“ฑ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Vercel AI SDK

Sonamu๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” AI ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ:
  • ํ…์ŠคํŠธ ์ƒ์„ฑ (Text Generation)
  • ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต (Streaming)
  • ๋„๊ตฌ ํ˜ธ์ถœ (Tool Calling)
  • ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ (Structured Output)
  • ์Œ์„ฑ ์ธ์‹ (Transcription)

ํ…์ŠคํŠธ ์ƒ์„ฑ

generateText()

์ผ๋ฐ˜ ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ๋Œ€ํ™”

์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต

streamText()

์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•ฉ๋‹ˆ๋‹ค.

SSE์™€ ํ†ตํ•ฉ

๋„๊ตฌ ํ˜ธ์ถœ

๋‹จ์ผ ๋„๊ตฌ

๋‹ค์ค‘ ๋„๊ตฌ

๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ

generateObject()

JSON ํ˜•์‹์˜ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ „ ์˜ˆ์ œ

Rtzr Provider (์Œ์„ฑ ์ธ์‹)

Sonamu๋Š” Rtzr (ํ•œ๊ตญ์–ด ์Œ์„ฑ ์ธ์‹ ์„œ๋น„์Šค)๋ฅผ ๊ธฐ๋ณธ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

ํŒŒ์ผ ์—…๋กœ๋“œ + ์Œ์„ฑ ์ธ์‹

Rtzr ์˜ต์…˜

๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ (์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ)

GPT-4o๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์—…๋กœ๋“œ + ๋ถ„์„

์—๋Ÿฌ ์ฒ˜๋ฆฌ

๋น„์šฉ ์ถ”์ 

์‹ค์ „ ํ†ตํ•ฉ ์˜ˆ์ œ

AI ์ฑ„ํŒ… API

์ฃผ์˜์‚ฌํ•ญ

AI SDK ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ:
  1. API ํ‚ค ๋ณด์•ˆ: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ฌ์šฉ
  2. ์—๋Ÿฌ ์ฒ˜๋ฆฌ: ํ•ญ์ƒ try-catch
  3. ํ† ํฐ ์ œํ•œ: maxTokens ์„ค์ •
  4. ์ŠคํŠธ๋ฆฌ๋ฐ ์ •๋ฆฌ: ์—๋Ÿฌ ์‹œ์—๋„ ์ŠคํŠธ๋ฆผ ์ข…๋ฃŒ
  5. Rtzr ํŒŒ์ผ ํฌ๊ธฐ: ํฐ ํŒŒ์ผ์€ ์ฒญํ‚น ํ•„์š”
  6. ์ด๋ฏธ์ง€ ํฌ๊ธฐ: GPT-4o ์ด๋ฏธ์ง€ ์ œํ•œ ํ™•์ธ

Vercel AI SDK ๋ฌธ์„œ

๋” ๋งŽ์€ ๊ธฐ๋Šฅ์€ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”:

๋‹ค์Œ ๋‹จ๊ณ„

Agent ์„ค์ •

Agent ๊ธฐ๋ณธ ์„ค์ •ํ•˜๊ธฐ

Agent ์ƒ์„ฑํ•˜๊ธฐ

BaseAgentClass๋กœ ์—์ด์ „ํŠธ ๊ตฌ์ถ•