Viable公司是一家客户分析初创企业,在前端开发中结合运用了AI和JavaScript技术。CEO解释采用Next.js和Node.js的原因是这两者能够实现前后端联调,提高开发效率,有利于构建数据密集型的Web应用。
译自 Why Viable Uses Next.js and Node.js for AI Applications,作者 Loraine Lawson。
虽然大多数生成式人工智能聊天机器人都是通过聊天界面接入的,但这并不是人工智能唯一的用户界面。Viable 就是一个不依赖聊天机器人界面使用 AI 的公司的例子。
这家创业公司为公司汇总和分析客户反馈。这些数据可以来自在线评论、调查反馈、社交媒体以及像 ZenDesk 或 Intercom 这样的客户服务平台 —— 基本上是客户与公司交流服务的任何地方。Viable 然后使用 AI 将这些客户反馈与 AI 分析相结合,创建报告而不是聊天,首席执行官兼软件工程师 Daniel Erickson 说。
“数据进来后,它会处理这些数据,深入挖掘主题并识别数据集中的主题,然后分析这些主题,每个主题输出约 10 段我们分析的段落,它读起来像一份报告,” 软件工程师 Erickson 告诉 The New Stack。“当你实际查看 Viable 应用程序时,你所做的就是阅读报告,它们读起来就像人类分析师编写的一样。”
他补充说,这是首批利用 OpenAI 的 GPT API 的公司之一。
Erickson 指出,Honeycomb 是另一个没有利用聊天的 AI 部署的例子。Honeycomb 使用自然语言界面,允许用户用纯文本语言创建查询。 然后,AI 会输出一个更加技术化的类 SQL 查询,他说。他还预见到了聊天机器人以外的自然语言模型的其他用途。
“我认为人们将大大减少切换过滤器和下拉菜单的次数,而是更多地键入他们想要找到的内容,然后他们会得到这些内容,”他说。“我看到的另一件事是,人们经常在与这些 AI 互动时遇到困难,因为需要一定的学习曲线才能理解它们如何‘思考’。”
这就是为什么真正重要的是向客户提供有关他们要求 AI 做什么的反馈,他补充说。为此,Viable 创建了一个提示教练来帮助客户查询。
“我们基本上构建了一种教练东西,它会查看提示并说 ‘这里是如何改进提示以使 AI 更容易理解并获得更好的输出’,”他说。
Viable 使用托管在 Vercel 上的 Next.js 框架来创建其用户界面和 API。Erickson 说,Next.js 可以轻松地在 UI 中的新页面中启动新的 API 端点。与 Express 等其他开源选择相比,这要容易得多,他补充说。
“它基本上就是这样做的,”他说。“所以许多其他框架,你必须进入并说 ‘我希望我的 API 路由看起来像这样,只接受这些内容,并真正深入做那些细枝末节的工作。Next.js,我所要做的就是创建一个新文件,把页面放到 /API 目录下,这样我就有了一个新的 API 路由。”
对 Erickson 来说,Next.js 的另一个好处是生态系统,他指出,这个生态系统比任何其他框架都大,除了可能是 React 本身。而且无论如何 Next.js 在底层使用了 React,他补充说。
“基本上,如果它与 React 兼容[...]然后还有一堆开源的额外库,这些库围绕身份验证、不同的数据源、不同的组件(如 UI 组件)和库构建,”他说。“那里有很多东西,生态系统真的很容易插接,并为我提供了很多我不必自己构建的工具。”
Viable 面临的一个挑战是,其数据引入管道需要能够支持从数据流到暴雨的一切,因为客户反馈可能是“峰值”的,他解释说。
“你不知道那是否会是每天 5 条消息,或者每天 50 万条消息。这完全取决于你的公司在做什么和人们在谈论什么,”他说。“Vercel 的无服务器体系结构和边缘函数真的帮助我们扩展以满足这些需求。”
他选择了 JavaScript,因为作为一名 JavaScript 工程师,他从 2009 年开始就一直使用 Node.js 运行时环境,所以这是他编写代码的默认工具箱的一部分。它也非常擅长处理异步数据处理,他补充说。使其出色的是,它以异步方式运行,这意味着它基本上有一个在代码运行时发生的运行时循环。
“它可以暂停进程的执行,”他说。“它拉入更多的数据,这意味着它的多任务处理能力实际上比许多其他编程语言要好得多。使用 Node 时,你比使用其他东西时更少地考虑多任务处理。”
Erickson 说,开发人员在投入开发 AI 之前应该意识到的一件事是,大多数 AI 都需要支持实时流。
“如果你与 ChatGPT 或任何东西聊天,当你这样做时,你实际上可以看到文本正在流入,”他说。“它不喜欢有一个小的加载指示器,然后一次性输入所有文本。你需要看到文本的输入,就像计算机正在向你输入一样,这是因为延迟。”
这些模型需要“永远”来生成文本,所以尽快将第一组文本提供给用户是非常重要的,他补充说。他还补充说,Next.js 和 Vercel 的 AI 工具比手动编码来支持流更容易。