TrumanWong

如何使用 Workers AI 构建强大的 AI 应用程序

TrumanWong
12/13/2023

简介

人工智能是当今开发者社区中最热门的话题之一,它为我们提供了许多新的可能性和挑战。然而,要想充分利用 AI 的潜力,我们需要有合适的工具和平台,让我们能够轻松地运行 AI 模型,而不必担心复杂的基础设施和隐私问题。

Cloudflare 是一家知名的云计算公司,它提供了一个全球性的网络,可以为网站和应用程序提供安全、快速和可靠的服务。Cloudflare 还提供了一个开发者平台,让开发者可以在其网络上构建和部署各种应用程序,无论是静态网站、动态内容、边缘计算,还是最新推出的 Workers AI

Workers AICloudflare 的无服务器 GPU 驱动的推理平台,它让开发者可以在 Cloudflare 的网络上,从自己的代码中运行 AI 模型,无论是从 WorkersPages,还是通过 REST API 从任何地方。Workers AI 的设计理念是为开发者提供最佳的体验,让他们可以用几行代码就启动一个 AI 应用程序,而不必了解机器学习的细节。

Workers AI 提供了一系列经过精选的流行的开源模型,涵盖了多种推理任务:

  • 文本生成 (大语言模型): meta/llama-2-7b-chat-int8
  • 自动语音识别(ASR): openai/whisper
  • 翻译: meta/m2m100-1.2
  • 文本分类: huggingface/distilbert-sst-2-int8
  • 图像分类: microsoft/resnet-50
  • 嵌入: baai/bge-base-en-v1.5

这些模型都可以在 Cloudflare 的全球 GPU 网络上运行,为用户提供低延迟和高性能的服务。此外,Workers AI 还提供了一个向量数据库,叫做 Vectorize,可以让开发者进行语义搜索、推荐、异常检测等任务,或者为大型语言模型提供上下文和记忆。

在本文中,我们将介绍如何使用 Workers AI 构建一个简单的 AI 应用程序,它可以根据用户的输入生成一张图片。

开发

1. 创建一个 Workers 项目

运行以下命令创建一个名为 text-to-image 的新项目:

$ npm create cloudflare@latest

在设置 text-to-image worker 时,按照以下方式回答设置问题:

  • 输入text-to-image 作为应用的名称
  • 选择 Hello World 脚本作为应用的类型
  • 对于使用 TypeScript,选择 yes
  • 对于使用 Git,选择 yes
  • 对于部署,选择 no

最后,导航到新应用的目录:

$ cd workers-ai

2. 将 Workers AI 连接到您的 worker

创建一个 Workers AI binding,使您的 Worker 可以访问 Workers AI 服务,而无需自己管理 API 密钥。

为了将 Workers AI 绑定到您的 Worker,请将以下内容添加到您的 wrangler.toml 文件末尾:

[ai]
binding = "AI" #available in your worker via env.AI

3. 安装 Workers AI 客户端库

$ npm install @cloudflare/ai

4. 在您的 worker 中运行指定模型

使用如下代码更新 source/index.ts

import { Ai } from './vendor/@cloudflare/ai.js';


export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);


    const inputs = {
      prompt: 'cyberpunk cat'
    };


    const response = await ai.run(
      '@cf/stabilityai/stable-diffusion-xl-base-1.0',
      inputs
    );


    return new Response(response, {
      headers: {
        'content-type': 'image/png'
      }
    });
  }
};

5. 使用 Wrangler 在本地开发

在项目目录中,运行以下命令测试 Workers AI:

$ npx wrangler dev --remote

注: 这些模型目前只运行在 CloudflareGPU 网络上(而不是本地),所以必须如上设置 --remote,此时您会被提示登录。

Wrangler 会给您一个 URL(通常是 localhost:8787)。访问该 URL,大约等待20~30秒你将会看到生成的图片。

6. 部署您的 worker

最后,部署 worker,使您的项目可以在互联网上访问。

$ npx wrangler deploy
# Outputs: https://workers-ai.<YOUR_SUBDOMAIN>.workers.dev

以下是两个在线示例:

结语

Workers AI 是一个强大的工具,可以让开发者轻松地构建和部署各种 AI 应用程序,而不必担心复杂的基础设施和隐私问题。如果您想要了解更多关于 Workers AI 的信息,您可以访问 Workers AI 的官方网站,或者查看 Workers AI 的文档