Vercel 推出 AI SDK、AI 应用模板,快速构建 AI 应用!

简介: Vercel 推出 AI SDK、AI 应用模板,快速构建 AI 应用!

近日, Vercel 推出了全新的工具来改善 AI 体验:

  • Vercel AI SDK:轻松地从 AI 模型中获取 API 响应;
  • Chat & Prompt Playground:探索来自 OpenAI、Hugging Face 等的模型;
  • AI Chatbot:使用 Next.js 构建的开源 AI 聊天应用模板。

555.webp.jpg

Vercel AI SDK

Vercel AI SDK 是一个开源库,旨在帮助开发者在 JavaScript 和 TypeScript 中构建对话、流式处理和聊天界面。该 SDK 支持 React/Next.js、Svelte/SvelteKit,即将支持 Nuxt/Vue。

可以在终端中输入以下命令来安装此 SDK:

javascript

复制代码

npm install ai

可以在 Github 查看其源码:github.com/vercel-labs…

内置 LLM 适配器

选择适合应用的 LLM 对于构建出色的体验至关重要。每个 LLM 都有独特的权衡,并且可以以不同的方式进行调整以满足要求。

Vercel 的 AI SDK 支持互操作性,并为 OpenAI、LangChain 和 Hugging Face Inference 提供一流的支持。这意味着无论首选的 AI 模型提供商是哪个,都可以利用 Vercel AI SDK 创建前沿的流式 UI 体验。

javascript

复制代码

import { OpenAIStream, StreamingTextResponse } from 'ai'
import { Configuration, OpenAIApi } from 'openai-edge'
// 创建一个 OpenAI API 客户端
const config = new Configuration({
  apiKey: process.env.OPENAI_API_KEY
})
const openai = new OpenAIApi(config)
// 将运行时设置为 edge
export const runtime = 'edge'
export async function POST(req: Request) {
  // 从请求正文中提取 messages
  const { messages } = await req.json()
  // 根据提示要求 OpenAI 完成流式聊天
  const response = await openai.createChatCompletion({
    model: 'gpt-3.5-turbo',
    stream: true,
    messages
  })
  // 将响应转换为友好的文本流
  const stream = OpenAIStream(response)
  // 响应流
  return new StreamingTextResponse(stream)
}

Hooks

Vercel AI SDK 包括用于数据获取和渲染流式文本响应的 React 和 Svelte 钩子。这些钩子使得应用能够实时、动态地渲染数据,为用户提供沉浸式和交互式的体验。

现在,借助 useChatuseCompletion,构建丰富的聊天或完成接口只需要几行代码:

'use client'
import { useChat } from 'ai/react'
export default function Chat() {
  const { messages, input, handleInputChange, handleSubmit } = useChat()
  return (
    <div>
      {messages.map(m => (
        <div key={m.id}>
          {m.role}: {m.content}
        </div>
      ))}
      <form onSubmit={handleSubmit}>
        <input
          value={input}
          placeholder="Say something..."
          onChange={handleInputChange}
        />
      </form>
    </div>
  )
}

回调

Vercel AI SDK 还为在同一请求中将已完成的流式响应存储到数据库中提供了回调。该功能允许进行高效的数据管理,并简化了处理流式文本响应的整个过程。

export async function POST(req: Request) {
  // ...
  // 将响应转换为友好的文本流
  const stream = OpenAIStream(response, {
    onStart: async () => {
      // 流开始时调用此回调
      // 可以使用它来将提示保存到数据库中
      await savePromptToDatabase(prompt)
    },
    onToken: async (token: string) => {
      // 为流中的每个标记调用此回调
      // 可以使用它来调试流或将 token 保存到数据库中
      console.log(token)
    },
    onCompletion: async (completion: string) => {
      // 流完成时调用此回调
      // 可以使用它来将最终的完成保存到数据库中
      await saveCompletionToDatabase(completion)
    }
  })
  // 响应流
  return new StreamingTextResponse(stream)
}

StreamingTextResponse(stream)}

Edge 和 Serverless

Vercel AI SDK 与 Vercel 产品(如 Serverless 和 Edge 函数)集成。可以部署 AI 应用,实现即时扩展、流式生成响应,并且具有成本效益。

使用框架定义的基础架构,可以使用 AI SDK 在 Next.js 和 SvelteKit 等框架中编写应用代码,然后 Vercel 将此代码转换为全局应用基础架构。

Chat & Prompt Playground

4 月,Vercel 推出了一个交互式的在线 AI Playground:play.vercel.ai,其包含了20个开源和云 LL,可以实时比较各种语言模型的结果,调整参数,并快速生成 Next.js、Svelte 和 Node.js 代码。

现在,在其中添加了一个新的聊天界面,以便可以同时比较并排显示聊天模型。除此之外,还为 Vercel AI SDK 添加了代码生成支持。现在,只需点击几下即可从 Playground 转到聊天应用。

4.webp.jpg

以上是通过 Vercel AI SDK Playground 比较 OpenAI GPT-4、Anthropic Claude 和 Hugging Face 的结果。

AI Chatbot

除了上述产品之外, Vercel 还推出了一个使用 Next.js、Vercel AI SDK、OpenAI 和 Vercel KV 构建的开源 AI 聊天应用模板。

5.webp.jpg

在线体验地址chat.vercel.ai/

AI Chatbot 模板应用具有以下特性:

  • Next.js App Router
  • React 服务端组件 (RSCs)、Suspense 和服务端操作
  • 支持使用 Vercel AI SDK 来进行流式聊天 UI
  • 支持使用 OpenAI(默认)、Anthropic、HuggingFace 或自定义 AI 聊天模型和/或 LangChain Edge 运行时准备就绪
  • shadcn/ui
  • 使用 Tailwind CSS 进行样式设置
  • 使用 Phosphor Icons 图标
  • 使用 Vercel KV 进行聊天历史记录、速率限制和会话存储
  • 使用 Next Auth 进行身份验证

6.webp.jpg

Github 源码地址github.com/vercel-labs…

未来

在未来的几周中,Vercel 将添加更多的 SDK 示例,以及完全使用 AI SDK 构建的新模板。此外,随着构建 AI 应用的新最佳实践出现,将根据反馈将它们加入到 SDK 中。

相关文章
|
4天前
|
传感器 人工智能 自动驾驶
构建未来:利用AI技术优化城市交通系统
【4月更文挑战第27天】 随着城市化的快速发展,交通拥堵已成为全球城市的普遍问题。本文探讨了人工智能(AI)技术在缓解城市交通压力、提升交通效率方面的应用前景。通过分析智能信号控制、交通流量预测、自动驾驶车辆以及公共交通优化等关键技术的实际案例,评估了AI在现代交通系统中的潜力与挑战。本研究不仅展示了AI技术在改善城市交通中的有效性,同时也指出了实施过程中需要克服的技术和社会障碍。
|
7天前
|
人工智能 NoSQL atlas
使用MongoDB 构建AI:轻松应对从预测式AI到生成式AI
无论企业目前处于AI发展的哪个阶段,MongoDB均可提供支持
1590 2
|
22小时前
|
机器学习/深度学习 人工智能 自然语言处理
构建未来:AI驱动的自适应学习系统
【4月更文挑战第30天】 随着人工智能技术的迅猛发展,教育领域正经历一场由AI驱动的变革。本文将探讨一个新兴的研究领域——自适应学习系统。这种系统通过利用机器学习算法和大数据分析,能够根据学生的学习习惯、知识水平和兴趣点提供个性化的教学方案。我们首先介绍自适应学习系统的基本概念及其在现代教育中的重要性,然后详细阐述其工作原理及关键技术,包括数据挖掘、模式识别和自然语言处理等。最后,文章将分析当前自适应学习系统面临的挑战,并提出未来的发展趋势。
|
22小时前
|
人工智能 运维 自然语言处理
构建高效自动化运维体系:DevOps与AI的融合之路
【4月更文挑战第30天】在数字化转型的大潮中,企业IT基础设施的复杂性日益增加,传统的运维模式已难以满足快速变化的业务需求。本文深入探讨了如何通过融合DevOps和人工智能(AI)技术构建一个高效、自动化的运维体系。文章首先概述了现代运维面临的挑战,接着分析了DevOps的核心理念以及AI如何在故障预测、智能决策支持等方面提升运维效率。最后,本文提出了一个具体的实施框架,并讨论了在推进过程中可能遇到的挑战及应对策略。
|
22小时前
|
数据采集 机器学习/深度学习 人工智能
自动化测试中AI辅助技术的应用与挑战
【4月更文挑战第30天】随着人工智能(AI)技术的飞速发展,其在软件自动化测试领域的应用日益增多。本文探讨了AI辅助技术在自动化测试中的应用情况,包括智能化测试用例生成、测试执行监控、缺陷预测及测试结果分析等方面。同时,文章还分析了在融合AI技术时所面临的挑战,如数据质量要求、模型的透明度与解释性问题以及技术整合成本等,并提出了相应的解决策略。
|
1天前
|
机器学习/深度学习 人工智能 搜索推荐
构建未来:AI驱动的自适应教育平台
【4月更文挑战第30天】 随着人工智能技术的迅猛发展,其在教育领域的应用正逐步从理论探索走向实践落地。本文将详细阐述一个基于AI技术的自适应学习平台的设计理念、核心功能以及潜在影响。该平台利用机器学习算法分析学生的学习行为和成绩,动态调整教学内容和策略,以实现个性化教学。研究结果表明,AI辅助的自适应学习能够显著提高学习效率,同时为教师提供强有力的教学辅助工具。
|
1天前
|
机器学习/深度学习 人工智能 监控
构建未来:利用AI技术优化城市交通系统
【4月更文挑战第30天】 在快速发展的城市环境中,交通拥堵已成为一个日益严重的问题。随着人工智能(AI)技术的不断进步,其在交通管理领域的应用展现出了巨大潜力。本文将探讨如何通过集成机器学习、深度学习和大数据分析等AI技术来优化城市交通系统。我们将讨论智能交通信号控制、实时交通流量监控、预测模型以及自动驾驶车辆如何共同作用于缓解交通压力,提升道路使用效率,并最终实现智能、可持续的交通生态系统。
|
1天前
|
人工智能 运维 监控
构建高效自动化运维体系:DevOps与AI的融合实践
【4月更文挑战第30天】 在当今快速迭代的软件开发环境中,高效的自动化运维体系成为确保交付速度和服务质量的关键。本文探讨了如何通过整合DevOps理念和人工智能(AI)技术来构建一个更加智能、高效的运维体系。文章将详细阐述自动化运维的核心组件,以及如何利用AI技术优化这些组件的性能和决策过程。通过实际案例分析,本文展示了这种融合实践在提高运维效率、降低错误率以及提升系统稳定性方面的显著成效。
|
1天前
|
人工智能 自然语言处理 监控
人工智能(AI)的应用非常广泛
【4月更文挑战第30天】人工智能(AI)的应用非常广泛
13 5
|
2天前
|
机器学习/深度学习 人工智能 监控
构建未来:AI在个性化学习路径设计中的应用
【4月更文挑战第29天】 随着人工智能(AI)的飞速发展,教育领域正经历一场由数据驱动的变革。本文聚焦于AI技术在个性化学习路径设计中的应用,探讨其如何通过精准分析学习者的行为和表现来优化教学策略和内容。我们展示了利用机器学习模型来预测学习成果、识别学习障碍以及提供即时反馈的潜力。文章还讨论了实施个性化学习所面临的挑战,包括数据隐私保护和技术整合问题,并提出了相应的解决策略。