Selamat datang di panduan pemula definitif untuk Vercel AI SDK. Di dunia di mana kecerdasan buatan dengan cepat mengubah lanskap digital, kemampuan untuk mengintegrasikan AI ke dalam aplikasi web telah bergeser dari spesialisasi khusus menjadi kompetensi inti bagi pengembang modern. Panduan ini dirancang untuk membawa Anda dari pemula yang penasaran menjadi pengembang aplikasi AI yang cakap.
Untuk waktu yang lama, menjembatani kesenjangan antara Large Language Model (LLM) yang kuat dan antarmuka web yang ramah pengguna adalah upaya yang kompleks. Pengembang harus bergulat dengan API penyedia yang berbeda, mengelola status yang rumit, dan secara manual mengimplementasikan fitur-fitur seperti streaming respons. Vercel AI SDK diciptakan untuk menyelesaikan masalah-masalah persis ini. Ini adalah toolkit yang mengutamakan TypeScript yang menyediakan lapisan abstraksi yang terpadu dan elegan di atas kerumitan membangun pengalaman berbasis AI.
Ini bukan sekadar panduan singkat. Sepanjang tutorial ini, kita akan membangun chatbot AI yang lengkap dan kaya fitur dari awal menggunakan Next.js dan model Gemini dari Google. Kita akan melangkah jauh melampaui contoh "hello world" sederhana. Anda akan mempelajari:
- Alasan ("Why"): Pemahaman yang lebih mendalam tentang konsep inti dan pola arsitektur aplikasi AI modern.
- Cara ("How"): Proses langkah demi langkah yang mendetail untuk menyiapkan proyek Anda, menulis logika sisi server, dan membangun antarmuka depan (frontend) yang rapi dan interaktif.
- Kemampuan Tingkat Lanjut: Cara memberdayakan chatbot Anda dengan "Alat" (Tools) untuk mengakses informasi real-time, dan cara mengatur interaksi kompleks multi-langkah.
- Praktik Siap Produksi: Cara menangani status loading, mengelola error dengan baik, dan menyusun kode Anda untuk aplikasi dunia nyata.
Pada akhir panduan komprehensif ini, Anda tidak hanya akan memiliki chatbot canggih yang berfungsi, tetapi juga pengetahuan konseptual mendalam yang dibutuhkan untuk dengan percaya diri membangun aplikasi berbasis AI Anda sendiri yang unik dan kuat dengan Vercel AI SDK.
Ingin platform Terpadu, All-in-One untuk Tim Pengembang Anda agar dapat bekerja sama dengan produktivitas maksimum?
Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
Bab 1: Fondasi dan Pengaturan
Setiap struktur hebat membutuhkan fondasi yang kokoh. Dalam bab ini, kita akan menyiapkan lingkungan pengembangan kita, menginstal alat yang diperlukan, dan mengatur kunci API kita. Kita juga akan meluangkan waktu sejenak untuk memahami "mengapa" di balik setiap pilihan yang kita buat.
Prasyarat
Sebelum kita menulis satu baris kode pun, mari pastikan kotak peralatan Anda siap.
- Node.js (versi 18 atau lebih baru): Vercel AI SDK dan framework JavaScript modern seperti Next.js mengandalkan fitur yang tersedia di versi terbaru Node.js. Anda dapat memverifikasi versi Anda dengan menjalankan
node -v
di terminal Anda. Jika Anda belum memilikinya, Anda dapat mengunduhnya dari situs web resmi Node.js. - Kunci API Google AI: Kunci ini adalah izin terautentikasi Anda untuk menggunakan keluarga model Gemini yang kuat dari Google. Vercel AI SDK bersifat agnostik terhadap penyedia, tetapi untuk panduan ini, kita akan fokus pada Gemini.
- Navigasi ke Google AI Studio.
- Masuk dengan akun Google Anda.
- Klik "Get API key" (Dapatkan kunci API) lalu "Create API key in new project" (Buat kunci API di proyek baru).
- Salin kunci yang dihasilkan dan simpan di tempat yang aman untuk saat ini. Perlakukan kunci ini seperti kata sandi; jangan pernah mengeksposnya secara publik.
Langkah 1: Menginisialisasi Proyek Next.js
Kita akan menggunakan Next.js, framework React utama untuk membangun aplikasi siap produksi. Paradigma App Router-nya terintegrasi sempurna dengan sifat aplikasi AI yang berpusat pada server.
Buka terminal Anda dan jalankan perintah ini untuk membuat proyek baru:
npx create-next-app@latest vercel-ai-tutorial
Installer akan meminta Anda dengan beberapa pertanyaan. Gunakan pengaturan ini untuk mengikuti dengan lancar:
- Apakah Anda ingin menggunakan TypeScript? Ya (TypeScript sangat penting untuk interaksi AI yang aman tipe)
- Apakah Anda ingin menggunakan ESLint? Ya (Untuk kualitas kode)
- Apakah Anda ingin menggunakan Tailwind CSS? Ya (Untuk menata UI kita dengan cepat)
- Apakah Anda ingin menggunakan direktori
src/
? Ya (Konvensi umum untuk mengatur kode) - Apakah Anda ingin menggunakan App Router? Ya (Ini penting untuk panduan ini)
- Apakah Anda ingin menyesuaikan alias impor default? Tidak (Default sudah baik)
Setelah instalasi selesai, navigasi ke direktori proyek yang baru saja Anda buat:
cd vercel-ai-tutorial
Langkah 2: Menginstal Vercel AI SDK
Sekarang, mari tambahkan paket AI SDK ke proyek kita.
npm install ai @ai-sdk/react @ai-sdk/google zod
Mari kita uraikan apa yang dilakukan setiap paket ini:
ai
: Ini adalah inti dari SDK. Ini berisi fungsi inti yang agnostik terhadap framework sepertistreamText
dangenerateObject
yang menangani komunikasi langsung dengan penyedia LLM.@ai-sdk/react
: Paket ini menyediakan hook React—khususnyauseChat
—yang membuat pembangunan UI interaktif menjadi sangat mudah. Ini mengabstraksi kerumitan manajemen status, streaming, dan komunikasi API.@ai-sdk/google
: Ini adalah paket penyedia. Ini adalah adapter spesifik yang memungkinkan paket intiai
berkomunikasi dengan model AI Google. Jika Anda ingin menggunakan OpenAI, Anda akan menginstal@ai-sdk/openai
sebagai gantinya.zod
: Pustaka deklarasi dan validasi skema yang kuat. Meskipun tidak secara ketat merupakan bagian dari AI SDK, ini adalah mitra yang sangat diperlukan untuk mendefinisikan struktur data untuk fitur-fitur canggih seperti Pemanggilan Alat (Tool Calling), memastikan output AI dapat diprediksi dan aman tipe.
Langkah 3: Mengamankan Kunci API Anda
Jangan pernah menulis kunci API secara langsung (hardcode) dalam kode aplikasi Anda. Ini adalah risiko keamanan utama. Standar profesional adalah menggunakan variabel lingkungan. Next.js memiliki dukungan bawaan untuk ini dengan file .env.local
.
Buat file di root proyek Anda:
touch .env.local
Sekarang, buka file baru ini dan tambahkan kunci AI Google Anda:
# .env.local
# This file is for local development and should NOT be committed to git.
GOOGLE_GENERATIVE_AI_API_KEY=YOUR_GOOGLE_AI_API_KEY
Ganti YOUR_GOOGLE_AI_API_KEY
dengan kunci yang Anda salin sebelumnya. Next.js secara otomatis memuat file ini dan membuat kunci tersedia di server, yang persis di tempat kita membutuhkannya.
Bab 2: Membangun Inti Chatbot
Setelah proyek kita siap, saatnya membangun komponen inti aplikasi kita: endpoint API sisi server yang berkomunikasi dengan AI, dan UI sisi klien tempat pengguna akan berinteraksi.
Arsitektur Klien-Server Aplikasi AI
Chatbot kita akan memiliki dua bagian utama:
- Rute API Sisi Server (
/api/chat/route.ts
): Ini adalah lingkungan aman yang berjalan di server. Tugas utamanya adalah menerima riwayat obrolan dari browser pengguna, menambahkan kunci API rahasia kita, meneruskan permintaan ke layanan Google AI, lalu melakukan streaming respons kembali ke pengguna. Menjaga logika ini di server sangat penting untuk keamanan—ini memastikan kunci API kita tidak pernah terekspos ke publik. - UI Sisi Klien (
page.tsx
): Ini adalah komponen React yang berjalan di browser pengguna. Ini bertanggung jawab untuk merender riwayat obrolan, menangkap input pengguna, dan mengirim input tersebut ke rute API kita.
Pemisahan ini mendasar untuk membangun aplikasi web yang aman dan berperforma tinggi.
Langkah 4: Membuat Handler Rute API
Mari kita buat endpoint sisi server. Di direktori src/app
Anda, buat folder baru api
, dan di dalamnya, folder lain chat
. Terakhir, buat file bernama route.ts
di dalam folder chat
.
Jalur akhirnya seharusnya src/app/api/chat/route.ts
.
Isi file ini dengan kode berikut:
// src/app/api/chat/route.ts
import { google } from '@ai-sdk/google';
import { streamText } from 'ai';
// Vercel-specific configuration to allow streaming responses for up to 30 seconds
export const maxDuration = 30;
// The main API route handler
export async function POST(req: Request) {
try {
// Extract the `messages` array from the request body
const { messages } = await req.json();
// Call the AI provider with the conversation history
const result = await streamText({
model: google('models/gemini-1.5-pro-latest'),
// The `messages` array provides the model with context for the conversation
messages,
});
// Respond with a streaming response
return result.toDataStreamResponse();
} catch (error) {
// It's a good practice to handle potential errors
if (error instanceof Error) {
return new Response(JSON.stringify({ error: error.message }), { status: 500 });
}
return new Response(JSON.stringify({ error: 'An unknown error occurred' }), { status: 500 });
}
}
Mari kita bedah file penting ini:
export const maxDuration = 30;
: Ini adalah pengaturan spesifik Vercel. Fungsi tanpa server (serverless) memiliki batas waktu default. Karena respons AI terkadang membutuhkan waktu untuk mulai menghasilkan, kita memperpanjang batas waktu menjadi 30 detik untuk mencegah permintaan dihentikan terlalu cepat.export async function POST(req: Request)
: Di Next.js App Router, mengekspor fungsi async yang dinamai sesuai metode HTTP (sepertiPOST
) dalam fileroute.ts
akan membuat endpoint API.const { messages } = await req.json();
: Frontend akan mengirim objek JSON dalam permintaannya, dan kita melakukan destructuring arraymessages
darinya. Array ini adalah riwayat lengkap percakapan, yang penting bagi LLM untuk memberikan respons yang sadar konteks.const result = await streamText(...)
: Ini adalah panggilan inti ke Vercel AI SDK. Kita memberikannyamodel
yang ingin kita gunakan dan riwayatmessages
. SDK menangani permintaan terautentikasi ke API Google di latar belakang.return result.toDataStreamResponse();
: Ini adalah fungsi pembantu yang kuat. Ini mengambilReadableStream
yang dikembalikan olehstreamText
dan membungkusnya dalam objekResponse
dengan header dan format yang benar, membuatnya sangat mudah bagi hook sisi klien kita untuk mengonsumsi stream.try...catch
: Kita telah membungkus logika kita dalam bloktry...catch
untuk menangani potensi error dengan baik selama panggilan API, mengembalikan pesan error yang jelas ke klien.
Langkah 5: Membuat Antarmuka Pengguna
Sekarang bagian yang menyenangkan: membangun UI. Berkat paket @ai-sdk/react
, ini sangat sederhana. Buka file halaman utama di src/app/page.tsx
dan ganti seluruh isinya dengan berikut ini:
// src/app/page.tsx
'use client';
import { useChat } from '@ai-sdk/react';
import { useRef, useEffect } from 'react';
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit, isLoading, error } = useChat();
// A ref to the scrollable container of messages
const messagesContainerRef = useRef<HTMLDivElement>(null);
// Effect to scroll to the bottom of the messages container whenever messages change
useEffect(() => {
if (messagesContainerRef.current) {
messagesContainerRef.current.scrollTop = messagesContainerRef.current.scrollHeight;
}
}, [messages]);
return (
<div className="flex flex-col h-screen bg-gray-50">
{/* Messages container */}
<div ref={messagesContainerRef} className="flex-1 overflow-y-auto p-8 space-y-4">
{messages.map(m => (
<div
key={m.id}
className={`flex gap-3 ${m.role === 'user' ? 'justify-end' : 'justify-start'}`}
>
{/* Display user's avatar */}
{m.role === 'user' && (
<div className="w-10 h-10 rounded-full bg-blue-500 flex items-center justify-center text-white font-bold">U</div>
)}
{/* Message bubble */}
<div
className={`max-w-xl p-3 rounded-2xl shadow-md whitespace-pre-wrap ${
m.role === 'user'
? 'bg-blue-500 text-white rounded-br-none'
: 'bg-white text-black rounded-bl-none'
}`}
>
<span className="font-bold block">{m.role === 'user' ? 'You' : 'AI Assistant'}</span>
{m.content}
</div>
{/* Display AI's avatar */}
{m.role !== 'user' && (
<div className="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center text-white font-bold">AI</div>
)}
</div>
))}
</div>
{/* Input form */}
<div className="p-4 bg-white border-t">
<form onSubmit={handleSubmit} className="flex items-center gap-4 max-w-4xl mx-auto">
<input
className="flex-1 p-3 border rounded-full focus:outline-none focus:ring-2 focus:ring-blue-500"
value={input}
placeholder="Ask me anything..."
onChange={handleInputChange}
disabled={isLoading}
/>
<button
type="submit"
className="px-6 py-3 bg-blue-500 text-white rounded-full font-semibold hover:bg-blue-600 disabled:bg-blue-300 disabled:cursor-not-allowed"
disabled={isLoading}
>
Send
</button>
</form>
{error && (
<p className="text-red-500 mt-2 text-center">{error.message}</p>
)}
</div>
</div>
);
}
Ini adalah jumlah kode yang signifikan, tetapi sebagian besar untuk membuat UI yang rapi dengan Tailwind CSS. Mari kita fokus pada logikanya:
'use client';
: Ini penting. Ini menandai komponen ini sebagai Komponen Klien (Client Component), artinya akan dieksekusi di browser dan dapat menggunakan state serta effect.const { ... } = useChat();
: Satu baris ini adalah keajaiban pustaka UI AI SDK. Ini menyediakan semua state dan fungsionalitas yang kita butuhkan:messages
: Array pesan obrolan, yang secara otomatis tetap sinkron.input
,handleInputChange
,handleSubmit
: State dan handler untuk form input kita.handleSubmit
secara otomatis mengemas pesan dan memanggil endpoint/api/chat
kita.isLoading
: Nilai boolean yang bernilaitrue
saat AI sedang menghasilkan respons. Kita menggunakan ini untuk menonaktifkan form saat menunggu.error
: Objek error yang akan diisi jika panggilan API kita gagal. Kita menampilkannya kepada pengguna.useRef
danuseEffect
: Ini adalah pola React standar untuk membuat tampilan obrolan secara otomatis menggulir ke bawah saat pesan baru ditambahkan, memastikan pesan terbaru selalu terlihat.
Langkah 6: Menjalankan Aplikasi Anda
Anda sekarang telah membangun chatbot AI yang lengkap dan terstruktur dengan baik. Mari kita jalankan!
npm run dev
Navigasi ke http://localhost:3000
di browser Anda. Anda akan disambut oleh antarmuka obrolan yang rapi. Ajukan pertanyaan kepadanya. Anda akan melihat pesan Anda muncul seketika, dan respons AI akan mengalir token demi token.
Bab 3: Kemampuan Tingkat Lanjut - Memberikan Kekuatan Super pada Chatbot Anda
Chatbot kita pintar, tetapi pengetahuannya terbatas pada data pelatihannya. Ia tidak dapat mengakses informasi langsung atau melakukan tindakan di dunia nyata. Dalam bab ini, kita akan memberikannya "Alat" (Tools) untuk mengatasi keterbatasan ini.
Apa Itu Alat (Tools)?
Alat (Tool) adalah fungsi yang Anda definisikan yang dapat dipilih oleh LLM untuk dieksekusi. Anda menjelaskan alat tersebut kepada model, dan ketika model berpikir bahwa alat tersebut diperlukan untuk menjawab pertanyaan pengguna, model akan menjeda pembuatan teksnya dan malah mengeluarkan objek "pemanggilan alat" (tool call) khusus. Kode Anda kemudian mengeksekusi fungsi dengan argumen yang disediakan oleh model, dan hasilnya dikirim kembali ke model. Model kemudian menggunakan informasi baru ini untuk menghasilkan respons akhirnya yang lebih akurat.
Mari kita berdayakan chatbot kita dengan dua alat:
- Alat untuk mendapatkan cuaca terkini untuk suatu lokasi.
- Alat untuk mengonversi suhu dari Fahrenheit ke Celsius.
Ini akan memungkinkan bot kita menjawab pertanyaan seperti, "Bagaimana cuaca di London dalam Celsius?"—tugas yang membutuhkan beberapa langkah dan data eksternal.
Langkah 7: Meningkatkan API untuk Mendukung Alat (Tools)
Kita perlu mendefinisikan alat kita dalam panggilan streamText
di server. Buka src/app/api/chat/route.ts
dan modifikasi untuk menyertakan definisi tools
yang baru.
// src/app/api/chat/route.ts
import { google } from '@ai-sdk/google';
import { streamText, tool } from 'ai';
import { z } from 'zod';
export const maxDuration = 30;
export async function POST(req: Request) {
const { messages } = await req.json();
const result = await streamText({
model: google('models/gemini-1.5-pro-latest'),
messages,
// Define the tools the model can use
tools: {
getWeather: tool({
description: 'Get the current weather for a specific location. Always returns temperature in Fahrenheit.',
parameters: z.object({
location: z.string().describe('The city and state, e.g., San Francisco, CA'),
}),
execute: async ({ location }) => {
// In a real app, you would fetch from a real weather API
console.log(`Fetching weather for ${location}`);
return {
temperature: Math.floor(Math.random() * (100 - 30 + 1) + 30),
high: Math.floor(Math.random() * (100 - 80 + 1) + 80),
low: Math.floor(Math.random() * (50 - 30 + 1) + 30),
conditions: ['Sunny', 'Cloudy', 'Rainy'][Math.floor(Math.random() * 3)],
};
},
}),
convertFahrenheitToCelsius: tool({
description: 'Convert a temperature from Fahrenheit to Celsius.',
parameters: z.object({
temperature: z.number().describe('The temperature in Fahrenheit'),
}),
execute: async ({ temperature }) => {
console.log(`Converting ${temperature}°F to Celsius`);
return {
celsius: Math.round((temperature - 32) * (5 / 9)),
};
},
}),
},
});
return result.toDataStreamResponse();
}
Mari kita analisis objek tools
:
- Setiap kunci (
getWeather
,convertFahrenheitToCelsius
) adalah nama alat kita. description
: Ini adalah bagian terpenting bagi model. Model membaca deskripsi ini untuk memahami apa yang dilakukan alat tersebut dan kapan harus digunakan. Jadilah jelas dan spesifik.parameters
: Kita menggunakanzod
untuk mendefinisikan signature fungsi. Ini memberi tahu model argumen apa yang persis dibutuhkan untuk disediakan.z.string().describe(...)
memberi model petunjuk tentang format yang diharapkan.execute
: Ini adalah fungsi sisi server sebenarnya yang berjalan ketika alat dipanggil. Di sini, kita mensimulasikan panggilan API dengan data acak, tetapi Anda dapat dengan mudah menggantinya dengan panggilanfetch
ke layanan cuaca nyata.
Langkah 8: Mengaktifkan Pemanggilan Alat Multi-Langkah di UI
Hanya mendefinisikan alat di server tidak cukup. Secara default, ketika model melakukan pemanggilan alat, percakapan berhenti. Kita perlu memberi tahu hook useChat
kita untuk secara otomatis mengirim hasil pemanggilan alat tersebut kembali ke model agar model dapat melanjutkan penalaran dan merumuskan jawaban akhir.
Ini sangat sederhana. Di src/app/page.tsx
, perbarui inisialisasi hook useChat
:
// src/app/page.tsx
// ...
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit, isLoading, error } = useChat({
// Tell the hook to automatically send tool results back to the model
experimental_sendExtraToolMessages: true,
});
// ... rest of the component
}
Itu saja. Properti experimental_sendExtraToolMessages: true
mengaktifkan alur penggunaan alat multi-langkah.
Langkah 9: UI yang Lebih Baik untuk Pemanggilan Alat
UI kita saat ini hanya menampilkan m.content
. Ketika alat dipanggil, informasi yang menarik ada di properti yang berbeda pada objek pesan. Mari kita buat komponen khusus untuk merender pemanggilan alat dengan baik.
Pertama, mari kita perbarui loop pesan utama di src/app/page.tsx
untuk merender pemanggilan ini.
// src/app/page.tsx
// ... inside the Chat component's return statement
<div ref={messagesContainerRef} className="flex-1 overflow-y-auto p-8 space-y-4">
{messages.map(m => (
<div
key={m.id}
className={`flex gap-3 ${m.role === 'user' ? 'justify-end' : 'justify-start'}`}
>
{/* ... avatars ... */}
<div
className={`max-w-xl p-3 rounded-2xl shadow-md whitespace-pre-wrap ${
m.role === 'user'
? 'bg-blue-500 text-white rounded-br-none'
: 'bg-white text-black rounded-bl-none'
}`}
>
<span className="font-bold block">{m.role === 'user' ? 'You' : 'AI Assistant'}</span>
{/* Render tool invocations */}
{m.toolInvocations?.map(tool => (
<div key={tool.toolCallId} className="my-2 p-2 bg-gray-100 rounded text-sm text-gray-700">
<p className="font-semibold">Tool Call: `{tool.toolName}`</p>
<pre className="mt-1 p-1 bg-gray-200 rounded text-xs">
{JSON.stringify(tool.args, null, 2)}
</pre>
</div>
))}
{m.content}
</div>
{/* ... avatars ... */}
</div>
))}
{isLoading && messages[messages.length - 1]?.role === 'assistant' && (
<div className="flex justify-start p-8 space-x-3">
<div className="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center text-white font-bold">AI</div>
<div className="p-3 rounded-2xl shadow-md bg-white">
<div className="typing-indicator">
<span></span><span></span><span></span>
</div>
</div>
</div>
)}
</div>
// ...
Saya juga telah menambahkan indikator pengetikan sederhana yang muncul saat asisten sedang berpikir. Anda perlu menambahkan sedikit CSS untuk itu. Di file src/app/globals.css
Anda, tambahkan:
/* src/app/globals.css */
.typing-indicator span {
height: 8px;
width: 8px;
background-color: #9E9EA1;
border-radius: 50%;
display: inline-block;
animation: a 1.2s infinite ease-in-out;
}
.typing-indicator span:nth-child(1) { animation-delay: -0.4s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.2s; }
@keyframes a {
0%, 60%, 100% { transform: scale(0.2); }
30% { transform: scale(1); }
}
Sekarang, jalankan kembali aplikasinya. Tanyakan kepadanya, "Berapa cuaca di New York dalam Celsius?" Anda akan melihat rangkaian peristiwa menarik terungkap di UI Anda:
- Model pertama-tama akan memanggil alat
getWeather
. Anda akan melihat pemanggilan alat yang dirender di UI. - Hasilnya (suhu acak dalam Fahrenheit) dikirim kembali ke model.
- Model, mengetahui bahwa ia membutuhkan Celsius, kemudian akan memanggil alat
convertFahrenheitToCelsius
, menggunakan suhu dari hasil alat pertama sebagai inputnya. - Terakhir, dengan suhu Celsius di tangan, model akan menghasilkan respons bahasa alami yang menjawab pertanyaan asli Anda.
Inilah kekuatan membangun Agen AI, dan Vercel AI SDK membuat orkestrasi kompleks ini menjadi sangat mudah.
Bab 4: Ke Mana Selanjutnya?
Anda telah berhasil membangun chatbot canggih berbasis AI. Anda telah beralih dari kanvas kosong menjadi aplikasi kaya fitur yang dapat melakukan streaming respons, menangani status loading dan error, serta memanfaatkan alat untuk berinteraksi dengan data eksternal secara multi-langkah.
Panduan ini telah memberi Anda fondasi yang kuat, tetapi ini hanyalah permulaan. Vercel AI SDK memiliki lebih banyak lagi yang ditawarkan. Berikut adalah beberapa jalur untuk eksplorasi lanjutan Anda:
- Generative UI: Kita baru saja melakukan streaming teks dan data. Dengan React Server Components, AI SDK memungkinkan Anda agar AI menghasilkan dan melakukan streaming komponen React yang terbentuk penuh dan interaktif. Bayangkan meminta cuaca dan mendapatkan widget cuaca yang indah dan interaktif alih-alih hanya teks. Ini adalah fitur mutakhir dengan potensi besar.
- Retrieval-Augmented Generation (RAG): Bangun chatbot yang dapat bernalar atas dokumen pribadi Anda sendiri. Anda dapat membuat chatbot yang menjawab pertanyaan tentang PDF, sekumpulan file Markdown, atau basis pengetahuan internal perusahaan Anda.
- Jelajahi Penyedia Lain: Arsitektur yang telah kita bangun sangat modular. Coba ganti model Google dengan salah satu dari OpenAI atau Anthropic. Ini seringkali semudah mengubah satu baris kode di rute API Anda, memungkinkan Anda untuk eksperimen dan menemukan model terbaik untuk kasus penggunaan spesifik Anda.
- Vercel AI Playground: AI Playground adalah alat yang sangat berharga untuk menguji prompt dan membandingkan output, kinerja, dan biaya model yang berbeda secara berdampingan.
Masa depan pengembangan web adalah cerdas, interaktif, dan personal. Dengan Vercel AI SDK, Anda sekarang memiliki alat dan pengetahuan untuk berada di garis depan revolusi ini. Selamat membangun!
Ingin platform Terpadu, All-in-One untuk Tim Pengembang Anda agar dapat bekerja sama dengan produktivitas maksimum?
Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!