Veröffentlicht am 16. Juli 2026
Das Vercel AI SDK ist ein anbieterunabhängiges TypeScript Toolkit, mit dem Sie KI-gestützte Anwendungen und Agents mit beliebten UI-Frameworks wie Next.js, React, Svelte, Vue und Angular sowie Runtimes wie Node.js erstellen können. Die meisten Anbieter sind cloudbasiert. Dieser erste Teil einer zweiteiligen Reihe konzentriert sich jedoch auf einen Community-Anbieter namens Browser AI, der von Jakob Hoeg Mørk (der von Google finanziert wurde) erstellt wurde. Mit Browser AI können Sie die Prompt API mit dem AI SDK von Vercel verwenden. Im zweiten Teil der Reihe wird dann erklärt, wie Sie Ihrer KI-Anwendung eine grafische Benutzeroberfläche hinzufügen.
Bibliothek installieren
Das @browser-ai/core
Paket ist der AI SDK-Anbieter für die Prompt API. Sie können es mit npm installieren.
Das zugrunde liegende Vercel AI SDK wird automatisch vom Paket als Peer-Abhängigkeit installiert.
npm install @browser-ai/core
Grundlegende Nutzung
So verwenden Sie den Anbieter:
- Importieren Sie den
browserAI-Konstruktor aus dem Paket@browser-ai/core. - Importieren Sie die
generateText()oder diestreamText()Funktionen aus dem Vercel AI SDK. Beide Funktionen generieren Text und rufen Tools für einen bestimmten Prompt mit einem Language Model auf:
- Die Funktion
generateText()ist nicht streamingfähig und eignet sich ideal für kurze Ausgaben oder für Ausgaben, bei denen Sie erst fortfahren können, wenn die gesamte Ausgabe empfangen wurde. - Die Funktion
streamText()streamt Textgenerierungen aus einem Sprachmodell. Sie können diese Funktion für interaktive Anwendungsfälle wie Chatbots und andere Echtzeitanwendungen verwenden.
So erstellen Sie eine Modellinstanz:
Rufen Sie
browserAI()auf. Hinweis: Als Best Practice sollten Sie immer dieavailability()des Modells prüfen. So können Sie ein Fallback verwenden (siehe Hybride Nutzung), wenn das Modell'unavailable'ist, oder eine Fortschrittsaktualisierung anzeigen, wenn das Modell'downloadable'oder'downloading'ist.Anschließend können Sie
generateText()oderstreamText()aufrufen. Eine vollständige Liste der Parameter finden Sie in der Dokumentation zum Vercel AI SDK. Anstatt beispielsweise einenpromptdirekt zu übergeben, wie im folgenden Codebeispiel, können Sie auch ein komplexeresmessages-Objekt für Multi-Shot-Prompts oder einensystem-Prompt übergeben.
import { browserAI } from '@browser-ai/core';
import { generateText, streamText } from 'ai';
(async () => {
const model = browserAI();
const availability = await model.availability();
if (availability === 'unavailable') {
console.log('Your browser cannot run the built-in AI model.');
return;
}
if (availability === 'downloadable' || availability === 'downloading') {
await model.createSessionWithProgress((progress) => {
console.log(`Download progress: ${Math.round(progress * 100)}%`);
});
}
// Non-streaming text generation.
const { text } = await generateText({
model,
prompt: 'Tell me a short joke',
});
console.log(text);
// Streaming text generation.
const result = streamText({
model,
prompt: 'Tell me a long joke',
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
})();
Multimodale Nutzung
Das @browser-ai/core Paket unterstützt multimodale Eingaben mit einem type: 'file'
Objekt in den Inhaltsobjekten des messages Arrays.
content Objektfelder (type: 'file')
| Feld | Akzeptierte Werttypen | Beschreibung |
|---|---|---|
type |
'file' |
Markiert dieses Inhaltsobjekt als Dateieingabe |
data |
string | Uint8Array | Buffer | ArrayBuffer | URL |
Der Dateiinhalt in einem der unterstützten Formate |
Wenn data ein string ist, muss es eines der folgenden Formate haben:
| Format | Beschreibung |
|---|---|
| Base64-codierter Inhalt | Rohdateibytes, die als Base64 codiert sind |
| Base64-Daten-URL | z.B. data:image/png;base64,... |
| http(s)-URL | Eine Remote-URL, von der die Datei abgerufen wird |
Ein Beispiel finden Sie im folgenden Code-Snippet:
import { streamText } from 'ai';
import { browserAI } from '@browser-ai/core';
const base64ImageData = await getBase64ImageData();
const audioData = await getAudioBuffer();
const result = streamText({
model: browserAI(),
messages: [
{
role: 'user',
content: [
{ type: 'text', text: "What's in this image?" },
{ type: 'file', mediaType: 'image/png', data: base64ImageData },
],
},
{
role: 'user',
content: [
{ type: 'text', text: 'Transcribe this audio file!' },
{ type: 'file', mediaType: 'audio/mp3', data: audioData },
],
},
],
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
Strukturierte Ausgabe
Das Vercel AI SDK unterstützt strukturierte Ausgaben über Zod, eine Schemavalidierung mit statischer Typinferenz, die auf TypeScript basiert. Weitere Informationen finden Sie in der Dokumentation zum Definieren von Schemas von Zod.
Wenn Sie ein JSON-Objekt anfordern möchten, das Ihrem Schema entspricht, übergeben Sie output: Output.object({
schema }) an generateText() oder streamText():
generateText()mitOutput.object()gibt das endgültige JSON-Objekt im Feldoutputzurück, sobald die Generierung abgeschlossen ist.streamText()mitOutput.object()bietet ein asynchrones iterierbarespartialOutputStream, bei dem garantiert ist, dass jedes Zwischenergebnis korrekt als JSON geparst wird. Wenn Ihr Schema beispielsweise ein Array mit zwei Zahlen erzwingt, erhalten Sie[]als erstes Teilergebnis,[123]als zweites und[123, 456]als Endergebnis.
import { browserAI } from '@browser-ai/core';
import { generateText, streamText, Output } from 'ai';
import z from 'zod';
const model = browserAI();
const schema = z.object({
recipe: z.object({
name: z.string(),
ingredients: z.array(z.object({ name: z.string(), amount: z.string() })),
steps: z.array(z.string()),
}),
});
const prompt = 'Generate a lasagna recipe.';
// Non-streaming object generation.
const { output } = await generateText({
model,
output: Output.object({ schema }),
prompt,
});
console.log(output);
// Streaming object generation.
const { partialOutputStream } = streamText({
model,
output: Output.object({ schema }),
prompt,
});
for await (const partialObject of partialOutputStream) {
console.log(partialObject);
}
Hybride Nutzung
Die hybride Nutzung ist eine der Stärken des AI SDK von Vercel. Es bietet eine höhere Abstraktionsebene über den Implementierungen der zugrunde liegenden Anbieter auf niedrigerer Ebene. Wenn Sie die Prompt API als Anbieter verwenden, erstellen Sie ein model, indem Sie den browserAI-Konstruktor aufrufen.
import { browserAI } from '@browser-ai/core';
const model = browserAI();
Wenn Sie einen anderen Anbieter verwenden möchten, z. B. den Google Generative AI-Anbieter, müssen Sie Folgendes tun:
Installieren Sie den ausgewählten Anbieter.
npm install @ai-sdk/googleInstanziieren Sie das
modelmit dem Konstruktor des Anbieters. Bei Cloud-Anbietern wie Google Generative AI müssen Sie in der Regel einen API-Schlüssel übergeben. Im Fall des Google Generative AI-Anbieters können Sie auch eine Cloud-Modell-ID übergeben, z. B.'gemini-2.5-flash'. Der restliche Code, z. B. Ihre Aufrufe vonstreamText(), bleibt genau gleich.import { createGoogleGenerativeAI } from '@ai-sdk/google'; const API_KEY = 'YOUR_GOOGLE_AI_API_KEY'; const google = createGoogleGenerativeAI({ apiKey: API_KEY }); const model = google('gemini-2.5-flash');
Cloud-Fallback
Ein klassischer hybrider Anwendungsfall ist die Verwendung der Prompt API, wenn sie verfügbar ist, und die Rückkehr zu einem Cloud-Anbieter unter anderen Umständen. Mit der Funktion doesBrowserSupportBuiltInAI() des Pakets @browser-ai/core können Sie prüfen, ob die Prompt API verfügbar ist. Mit dieser Funktion können Sie das model dynamisch als cloudbasiertes Modell oder als integriertes Modell instanziieren.
import { doesBrowserSupportBuiltInAI } from '@browser-ai/core';
const API_KEY = 'YOUR_GOOGLE_AI_API_KEY';
const model = await (async () => {
if (doesBrowserSupportBuiltInAI()) {
const { browserAI } = await import('@browser-ai/core');
return browserAI();
}
const { createGoogleGenerativeAI } = await import('@ai-sdk/google');
const google = createGoogleGenerativeAI({ apiKey: API_KEY });
return google('gemini-2.5-flash');
})();
Integriertes Fallback
Ein weiterer hybrider Anwendungsfall ist die bevorzugte Verwendung eines Cloud-Anbieters, wenn Sie online sind, aber auf den integrierten Anbieter zurückzugreifen, wenn die Prompt API unterstützt wird.
import { doesBrowserSupportBuiltInAI } from '@browser-ai/core';
const API_KEY = 'YOUR_GOOGLE_AI_API_KEY';
let model;
const switchProvider = async (forceCloud = false) => {
model = await (async () => {
if (navigator.onLine || forceCloud) {
const { createGoogleGenerativeAI } = await import('@ai-sdk/google');
const google = createGoogleGenerativeAI({ apiKey: API_KEY });
return google('gemini-2.5-flash');
}
const { browserAI } = await import('@browser-ai/core');
return browserAI();
})();
};
if (doesBrowserSupportBuiltInAI()) {
window.addEventListener('online', switchProvider);
window.addEventListener('offline', switchProvider);
}
await switchProvider(true);
Demo
In der
Live-Demo
können Sie beide Anbieter nebeneinander ausprobieren. Wählen Sie über die Optionsfelder Cloud API (Gemini 2.5
Flash) oder Built-in AI aus und klicken Sie auf Run (Ausführen). Auf der
Seite werden dann nacheinander vier Abschnitte gefüllt: ein kurzer Witz, der mit
generateText() auf einmal generiert wird, ein langer Witz, der mit streamText() Token für Token gestreamt wird, ein
Lasagnerezept, das als vollständiges JSON-Objekt zurückgegeben wird, und dasselbe Rezept,
das mit partialOutputStream als inkrementell gültiges JSON gestreamt wird. Wenn Sie „Built-in AI“ auswählen und Ihr Browser das Modell noch nicht heruntergeladen hat, wird vor Beginn der Demos eine Fortschrittsanzeige eingeblendet.

Nächster Schritt
Nachdem Sie nun wissen, wie Sie die Prompt API mit dem Vercel AI SDK verwenden, besteht der nächste Schritt darin, die AI SDK UI und AI Elements zu nutzen, um Ihrer App eine grafische Benutzeroberfläche hinzuzufügen.
Mit der AI SDK UI können Sie ganz einfach interaktive Chat-, Vervollständigungs- und Assistentenanwendungen erstellen. Es ist ein frameworkunabhängiges Toolkit, das die Integration erweiterter KI-Funktionen in Ihre Anwendungen vereinfacht.
AI Elements ist eine Komponentenbibliothek und eine benutzerdefinierte Registrierung, mit der Sie KI-native Anwendungen schneller erstellen können. Es bietet vorgefertigte Komponenten wie Unterhaltungen und Nachrichten.
Unter Vercel AI SDK UI und AI Elements mit der Prompt API verwenden, erfahren Sie, wie Sie Ihrer App eine GUI hinzufügen.