跳到正文
    Ertas

    Vercel AI SDK + Ertas

    使用 Vercel AI SDK 构建 AI 功能——这是一个 TypeScript 优先的 SDK,跨 94 个提供商提供统一接口,支持流式 UI、结构化输出、工具调用,并完全支持微调本地模型。

    Overview

    截至 2026 年 3 月,Vercel AI SDK 是构建 AI 驱动应用程序的主流 TypeScript SDK,支持来自 94 个提供商的 3,300 多个模型。其核心价值主张是提供商无关的人体工学:相同的 `generateText`、`streamText`、`generateObject` 和 `streamObject` 调用适用于 OpenAI、Anthropic、Google、Mistral、Hugging Face、本地 Ollama 模型以及任何你配置的自定义提供商。这使得在不更改应用程序代码的情况下,轻松实现模型切换以进行成本优化、A/B 测试或回退模式。

    除了统一的提供商接口外,AI SDK 还为生产中重要的模式提供了一流的原语:用于 React、Vue 和 Svelte 的流式 UI 组件;通过 Zod 进行结构化输出验证;具有并行执行的内置工具调用;以及通过 Vercel Workflow DevKit 提供的持久化工作流模式。该 SDK 是 Mastra(生产级智能体框架)的基础,并被广泛直接用于更简单的聊天和补全用例。对于 TypeScript 团队来说,它实际上是 AI 功能的默认基础设施层。

    How Ertas Integrates

    Ertas 训练的模型通过官方兼容 OpenAI 的提供商与 Vercel AI SDK 集成。在 Ertas Studio 中微调模型并自行部署到兼容 OpenAI 的端点(Ollama 或 vLLM)后,你使用 `createOpenAI` 创建一个指向你的端点基础 URL 的自定义提供商。从这一刻起,每个 Vercel AI SDK 功能——流式传输、结构化输出、工具调用、多模态输入、通过 Mastra 的智能体循环——都能透明地与你的微调模型协同工作。如果你不想自行托管,Ertas 可以通过自适应模型端点为你提供模型服务,Studio 一键部署已在规划中。

    这种组合在 TypeScript 原生 AI 产品中表现出色。Web 应用程序、Next.js 应用程序、边缘函数和 Node.js 服务都可以直接使用 Ertas 训练的模型,无需桥接到 Python——消除了跨语言 AI 架构中的常见痛点。无论应用托管在 Vercel 上还是你自己的服务器上,相同的代码路径可在你自己的基础设施上的 Ollama 或 vLLM 端点上运行,无需对应用程序级别进行任何更改。

    Getting Started

    1. 1

      在 Ertas Studio 中微调你的模型

      在你的数据上训练领域特定模型。微调后的模型捕获领域词汇、模式和工具使用规范,可在你所有的 AI 功能中使用。

    2. 2

      部署到兼容 OpenAI 的端点

      导出为 GGUF 格式并通过 Ollama 或 vLLM 提供服务。AI SDK 适用于任何暴露标准 /v1/chat/completions API 的端点。

    3. 3

      安装 Vercel AI SDK

      安装 ai(核心 SDK)和 @ai-sdk/openai(兼容 OpenAI 的提供商)。同一安装即可支持所有标准 AI SDK 功能。

    4. 4

      为你的 Ertas 端点创建自定义提供商

      使用 createOpenAI 配合你的端点基础 URL。生成的提供商可与 generateText、streamText、generateObject 和工具调用 API 协同工作。

    5. 5

      构建流式 UI、智能体或结构化输出

      使用 AI SDK 的 React 组件实现流式聊天、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
    使用 Vercel AI SDK 与 Ertas 训练的模型实现流式聊天和 Zod 验证的结构化输出——相同代码适用于任何兼容 OpenAI 的提供商。

    Benefits

    • 统一的 TypeScript 接口——相同代码适用于来自 94 个提供商的 3,300 多个模型
    • 为 React、Vue、Svelte 和 SolidJS 提供一流的流式 UI 原语
    • 通过 Zod 模式实现结构化输出——无需手动解析的类型安全智能体输出
    • 内置并行工具调用,全程具备强类型支持
    • Mastra 智能体框架和 Vercel Workflow DevKit 的基础
    • 边缘运行时支持,实现低延迟的全球推理部署模式

    Related Resources

    Ship AI that runs on your users' devices.

    Free plan with 30 credits/mo, no card required. Paid plans from $10/mo USD.