Vercel AI SDK + Ertas

    使用 Vercel AI SDK 建構 AI 功能——這是 TypeScript 優先的 SDK,提供跨 94 家供應商的統一介面、串流 UI、結構化輸出、工具呼叫,並完整支援微調本地模型。

    Overview

    Vercel AI SDK 是建構 AI 應用程式時主導性的 TypeScript SDK,截至 2026 年 3 月支援來自 94 家供應商的 3,300 個以上模型。其核心價值主張是供應商無關的人因設計:相同的 `generateText`、`streamText`、`generateObject` 與 `streamObject` 呼叫可跨 OpenAI、Anthropic、Google、Mistral、Hugging Face、本地 Ollama 模型以及任何你設定的自訂 provider 運作。這使得在不變更應用程式碼的情況下,於模型之間切換以做成本最佳化、A/B 測試或備援模式變得輕而易舉。

    除了統一的 provider 介面之外,AI SDK 還內附在正式上線環境中至關重要的一流模式基本元件:適用於 React、Vue 與 Svelte 的串流 UI 元件;透過 Zod 進行的結構化輸出驗證;具並行執行能力的內建工具呼叫;以及透過 Vercel Workflow DevKit 實現的可長時運行工作流程模式。此 SDK 是 Mastra(正式上線等級代理框架)的基礎,並廣泛直接用於較單純的 chat 與 completion 使用情境。對於 TypeScript 團隊而言,它實際上已是 AI 功能的預設基礎設施層。

    How Ertas Integrates

    Ertas 訓練的模型透過官方 OpenAI 相容 provider 與 Vercel AI SDK 整合。在 Ertas Studio 微調模型並部署至 OpenAI 相容端點(Ollama、vLLM 或 Ertas Cloud)後,你可以使用 `createOpenAI` 建立指向你端點 base URL 的自訂 provider。從這時起,Vercel AI SDK 的所有功能——串流、結構化輸出、工具呼叫、多模態輸入、透過 Mastra 的代理迴圈——都會透明地與你的微調模型協同運作。

    這種組合在 TypeScript 原生的 AI 產品中表現出色。Web 應用程式、Next.js 應用、edge 函式以及 Node.js 服務可以直接使用 Ertas 訓練的模型,不必橋接到 Python——消除跨語言 AI 架構中常見的痛點。對於部署在 Vercel 上的應用,AI SDK 的 edge 執行環境支援,搭配 Ertas Cloud 的區域部署選項,可實現低延遲的全球推論。對於自託管的應用程式,相同的程式碼路徑可在你自有基礎設施上的 Ollama 或 vLLM 端點運作,完全不需要應用層級的變更。

    Getting Started

    1. 1

      於 Ertas Studio 微調你的模型

      在你的資料上訓練特定領域的模型。微調後的模型會擷取領域詞彙、模式與工具使用慣例,可供你所有 AI 功能使用。

    2. 2

      部署至 OpenAI 相容端點

      匯出為 GGUF 並透過 Ollama、vLLM 或 Ertas Cloud 提供服務。AI SDK 可與任何提供標準 /v1/chat/completions API 的端點協同運作。

    3. 3

      安裝 Vercel AI SDK

      安裝 ai(核心 SDK)與 @ai-sdk/openai(OpenAI 相容 provider)。同一次安裝即可支援所有標準 AI SDK 功能。

    4. 4

      為你的 Ertas 端點建立自訂 provider

      使用 createOpenAI 並傳入你端點的 base URL。產生的 provider 可與 generateText、streamText、generateObject 以及工具呼叫 API 協同運作。

    5. 5

      建構串流 UI、代理或結構化輸出

      使用 AI SDK 的 React 元件實現串流 chat、Zod 驗證的結構化輸出,或並行工具呼叫代理——全部由你的 Ertas 訓練模型驅動。

    typescript
    import { createOpenAI } from "@ai-sdk/openai";
    import { generateObject, streamText } from "ai";
    import { z } from "zod";
    
    // Create a provider pointed at your Ertas-trained model
    const ertas = createOpenAI({
      baseURL: "http://localhost:11434/v1",
      apiKey: "not-needed",
    });
    
    // Streaming chat
    const stream = streamText({
      model: ertas("ertas-support-7b"),
      messages: [{ role: "user", content: "How do I cancel my subscription?" }],
    });
    
    for await (const chunk of stream.textStream) {
      process.stdout.write(chunk);
    }
    
    // Structured output with Zod validation
    const ticket = await generateObject({
      model: ertas("ertas-support-7b"),
      schema: z.object({
        category: z.enum(["billing", "technical", "account"]),
        priority: z.enum(["low", "medium", "high"]),
        summary: z.string(),
        suggestedAction: z.string(),
      }),
      prompt: "Classify this support email: [email body here]",
    });
    
    console.log(ticket.object); // Type-safe, validated
    搭配 Ertas 訓練的模型使用 Vercel AI SDK 進行串流 chat 與 Zod 驗證的結構化輸出——同一份程式碼可與任何 OpenAI 相容 provider 協同運作。

    Benefits

    • 統一的 TypeScript 介面——同一份程式碼可跨 94 家供應商 3,300 個以上模型運作
    • 適用於 React、Vue、Svelte 與 SolidJS 的一流串流 UI 基本元件
    • 透過 Zod schema 進行結構化輸出——具型別安全的代理輸出,無需手動解析
    • 全面具強型別的內建並行工具呼叫
    • Mastra 代理框架與 Vercel Workflow DevKit 的基礎
    • 支援 edge 執行環境,可實現低延遲的全球推論部署模式

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.