> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 9个AI开发必备JS开源库
- URL: https://www.hubwiz.com/blog/top9-open-source-js-libraries-for-ai-development/
- Published: 2025-01-11T03:32:12.000Z
- Updated: 2025-01-11T03:32:12.000Z
- Description: 有了可靠的 JavaScript/TypeScript 支持，将 AI 集成到 Web 应用程序中变得毫不费力，从而改善了前端和后端的开发体验。
- Author: admin
- Tags: LIBRARY, COMPOSIO, INSTRUCTOR-JS, COPILOTKIT, E2B, LANCEDB, TRIGGER.DEV, VERCEL AI SDK, JULEP, PORTKEY AI, #Import 2026-10-14 14:41

我已经使用 Python 和 JavaScript 进行开发一段时间了，涉足 AI 和非 AI 项目。🌟

虽然 Python 凭借其庞大的生态系统无可否认地主导着 AI 开发领域，但 JavaScript/TypeScript 拥有自己独特的优势，使其成为强有力的竞争者：

- 性能：由于其异步特性和非阻塞 I/O，JavaScript/TypeScript 在基于 Web 的应用程序中通常优于 Python。
- 集成：与 Web 技术的无缝兼容性使创建 AI 驱动的 Web 应用程序变得更加容易，而无需切换语言。
- 包管理：让我们面对现实——与 Python 的生态系统相比，JavaScript 的包管理（npm 和 Yarn）更加强大且用户友好。

虽然 Python 仍然是大多数 AI 库的首选（每个新库似乎都推出了原生 Python 支持），但 JavaScript 仍然在 Web 开发领域占据主导地位。 

有了可靠的 JavaScript/TypeScript 支持，将 AI 集成到 Web 应用程序中变得毫不费力，从而改善了前端和后端的开发体验。

因此，如果你正在寻找开源 JavaScript 库来构建令人难以置信的 AI 驱动应用程序，那么你来对地方了！

我整理了一份必试库列表，以提升你的 AI 开发水平。

请随意探索他们的 GitHub 存储库，为你最喜欢的库做出贡献，并通过为他们的工作加星标来表示你的支持！

## 1、Composio — 以 10 倍的速度构建可靠的代理

![](https://www.hubwiz.com/blog/content/images/2025/01/image-159.png)

创建可靠的 AI 代理可能是一个难题，尤其是当你的目标是自动化涉及 Discord、Slack 或日历等外部工具的工作流程时。

这就是 Composio 的闪光点！

[Composio](https://composio.dev/?ref=hubwiz.com) 是用于构建 AI 驱动应用程序的尖端工具。它使你能够与 CRM、生产力、人力资源和开发等各个垂直领域的 100 多种流行工具集成。这使你可以轻松地自动化复杂的工作流程。

Composio提供原生 JavaScript 支持，使将 AI 代理整合到你的应用中变得轻而易举。

要开始使用 Composio，请运行以下命令：

```
npm install composio-core openai 
#yarn add composio-core openai 
#pnpm add composio-core openai
```

定义一种方法让用户连接他们的 GitHub 帐户：

```
import { OpenAI } from "openai";
import { OpenAIToolSet } from "composio-core";

const toolset = new OpenAIToolSet({
  apiKey: process.env.COMPOSIO_API_KEY,
});

async function setupUserConnectionIfNotExists(entityId) {
  const entity = await toolset.client.getEntity(entityId);
  const connection = await entity.getConnection('github');

  if (!connection) {
      // If this entity/user hasn't already connected, the account
      const connection = await entity.initiateConnection(appName);
      console.log("Log in via: ", connection.redirectUrl);
      return connection.waitUntilActive(60);
  }

  return connection;
}
```

将所需工具添加到 OpenAI SDK 并将实体名称传递给 `executeAgent` 函数：

```
async function executeAgent(entityName) {
  const entity = await toolset.client.getEntity(entityName)
  await setupUserConnectionIfNotExists(entity.id);

  const tools = await toolset.get_actions({ actions: ["github_activity_star_repo_for_authenticated_user"] }, entity.id);
  const instruction = "Star a repo ComposioHQ/composio on GitHub"

  const client = new OpenAI({ apiKey: process.env.OPEN_AI_API_KEY })
  const response = await client.chat.completions.create({
      model: "gpt-4-turbo",
      messages: [{
          role: "user",
          content: instruction,
      }],
      tools: tools,
      tool_choice: "auto",
  })

  console.log(response.choices[0].message.tool_calls);
  await toolset.handle_tool_call(response, entity.id);
}

executeGithubAgent("joey")
```

Composio 与 LangChain、LlamaIndex 和 CrewAi 等流行框架无缝集成，让你能够轻松执行代码，而代理会处理工作。

有关详细指导，请浏览[官方文档](https://docs.composio.dev/introduction/intro/overview?ref=hubwiz.com)。对于高级用例，请查看存储库中的[示例部分](https://github.com/ComposioHQ/composio/tree/master/python/examples?ref=hubwiz.com)。

## 2、Instructor-JS：从 LLM 中提取结构化数据

从 LLM 响应中提取有意义的信息曾经感觉很麻烦——直到现在。

[Instructor-JS](https://github.com/instructor-ai/instructor-js?ref=hubwiz.com) 提供了一种简单而结构化的方式来从 LLM 输出中提取和验证数据。它支持 Python 和 JavaScript，Zod 支持 JavaScript 中的数据验证。

入门很简单！立即深入了解并改变你处理 LLM 响应的方式：

```
npm i @instructor-ai/instructor zod openai
```

从 LLM 响应中提取信息：

```
import Instructor from "@instructor-ai/instructor";
import OpenAI from "openai"
import { z } from "zod"

const oai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY ?? undefined,
  organization: process.env.OPENAI_ORG_ID ?? undefined
})

const client = Instructor({
  client: oai,
  mode: "TOOLS"
})

const UserSchema = z.object({
  // Description will be used in the prompt
  age: z.number().describe("The age of the user"), 
  name: z.string()
})

// User will be of type z.infer<typeof UserSchema>
const user = await client.chat.completions.create({
  messages: [{ role: "user", content: "Jason Liu is 30 years old" }],
  model: "gpt-3.5-turbo",
  response_model: { 
    schema: UserSchema, 
    name: "User"
  }
})

console.log(user)
// { age: 30, name: "Jason Liu" }
```

有关更多信息，请访问[官方文档](https://instructor-ai.github.io/instructor-js/tips/prompting/?ref=hubwiz.com)页面。

## 3、CopilotKit：为 React 应用构建 AI Copilots

![](https://www.hubwiz.com/blog/content/images/2025/01/image-160.png)

正在开发一个令人兴奋的项目并希望使用 AI 增强它？CopilotKit 就是你的最佳选择！

[CopilotKit ](https://www.copilotkit.ai/?ref=hubwiz.com)是一种现成的解决方案，可让你将 AI 功能集成到你的应用程序或任何可访问的代码库 (OSS) 中。它提供多功能 React 组件（例如文本区域、弹出窗口、侧边栏和聊天机器人），以无缝地使用 AI 功能增强你的应用程序。

入门很容易！运行以下命令并为你的应用程序解锁新维度：

```
npm i @copilotkit/react-core @copilotkit/react-ui
```

要使用 CopilotKit，请确保在 CopilotKit 提供程序中包装与其交互的所有组件。首先集成 CopilotSidebar — 以后可以随时切换到其他 UI 提供商进行自定义：

```
"use client";
import { CopilotKit } from "@copilotkit/react-core";
import { CopilotSidebar } from "@copilotkit/react-ui";
import "@copilotkit/react-ui/styles.css";

export default function RootLayout({children}) {
  return (
    <CopilotKit publicApiKey=" the API key or self-host (see below)">
      <CopilotSidebar>
        {children}
      </CopilotSidebar>
    </CopilotKit>
  );
}
```

可以查看他们的[官方文档](https://docs.copilotkit.ai/getting-started/quickstart-chatbot?ref=hubwiz.com)以获取更多信息。

## 4、E2B：AI 应用的代码解释

![](https://www.hubwiz.com/blog/content/images/2025/01/image-161.png)

构建需要 LLM 执行代码的 AI Web 应用程序？E2B 的代码解释器就是你的不二之选——AI 分析师和软件工程代理的终极解决方案。

[E2B](https://e2b.dev/?ref=hubwiz.com) 提供安全的云环境，使 LLM 能够安全高效地执行代码。它使用熟悉的工具（如 GitHub 存储库和云浏览器）支持长时间运行的 AI 进程。

使用代码解释器 SDK，你可以在轻量级虚拟机（E2B 沙盒）中安全地运行 AI 生成的代码。沙盒包括一个 Jupyter 服务器，可通过 SDK 完全控制，以实现无缝 AI 代码执行。

使用以下命令立即开始使用 E2B：

```
npm i @e2b/code-interpreter
```

执行程序：

```
import { CodeInterpreter } from '@e2b/code-interpreter'

const sandbox = await CodeInterpreter.create()
await sandbox.notebook.execCell('x = 1')

const execution = await sandbox.notebook.execCell('x+=1; x')
console.log(execution.text)  // outputs 2

await sandbox.close()
```

有关如何使用 E2B 的更多信息，请访问其[文档](https://e2b.dev/docs/hello-world/js?ref=hubwiz.com)。

## 5、LanceDB：适用于 AI 应用的高性能矢量数据库

![](https://www.hubwiz.com/blog/content/images/2025/01/image-162.png)

矢量数据库对于 AI 应用至关重要，它使你能够存储、查询和管理非结构化数据（如文本、图像、视频和音频）的嵌入。

[LanceDB](https://lancedb.com/?ref=hubwiz.com) 是一款顶级开源矢量数据库，具有原生 JavaScript 支持。它专为生产规模性能而设计，并具有以下功能：

- 高速矢量搜索
- 多模式支持
- 零拷贝架构
- 自动数据版本控制
- GPU 加速查询

立即开始使用 LanceDB 构建更智能的 AI 应用：

```
npm install @lancedb/lancedb
```

创建和查询矢量数据库：

```
import * as lancedb from "@lancedb/lancedb";

const db = await lancedb.connect("data/sample-lancedb");
const table = await db.createTable("vectors", [
    { id: 1, vector: [0.1, 0.2], item: "foo", price: 10 },
    { id: 2, vector: [1.1, 1.2], item: "bar", price: 50 },
], {mode: 'overwrite'});

const query = table.vectorSearch([0.1, 0.3]).limit(2);
const results = await query.toArray();

// You can also search for rows by specific criteria without involving a vector search.
const rowsByCriteria = await table.query().where("price >= 10").toArray();
```

可以在[官方文档](https://lancedb.github.io/lancedb/?ref=hubwiz.com)中找到有关 LanceDB 的更多信息。

## 6、Trigger.Dev：可靠的后台作业

![](https://www.hubwiz.com/blog/content/images/2025/01/image-163.png)

[Trigger.Dev ](https://trigger.dev/?ref=hubwiz.com)是一个开源平台和 SDK，旨在轻松创建长时间运行的后台作业 — 不再超时！

使用 Trigger.Dev，你可以：

- 编写标准异步代码，无缝部署，并完全避免超时问题。
- 可靠地调用 AI API，使用自动重试和跟踪等功能实现更顺畅的执行。
- 与现有 SDK 集成，轻松增强你的工作流程。

立即使用 Trigger.Dev 简化你的后台作业和 API 集成：

```
import { task } from "@trigger.dev/sdk/v3";
// Generate an image using OpenAI Dall-E 3
export const generateContent = task({
  id: "generate-content",
  retry: {
    maxAttempts: 3,
  },
  run: async ({ theme, description }: Payload) => {
    const textResult = await openai.chat.completions.create({
      model: "gpt-4o",
      messages: generateTextPrompt(theme, description),
    });

    if (!textResult.choices[0]) {
      throw new Error("No content, retrying…");
    }

    const imageResult = await openai.images.generate({
      model: "dall-e-3",
      prompt: generateImagePrompt(theme, description),
    });

    if (!imageResult.data[0]) {
      throw new Error("No image, retrying…");
    }

    return {
      text: textResult.choices[0],
      image: imageResult.data[0].url,
    };
  },
});
```

## 7、Vercel AI SDK：用 TypeScript 构建 AI 应用

如果你正在构建全栈 AI 驱动的应用程序，[Vercel AI SDK ](https://github.com/vercel/ai?ref=hubwiz.com)是你的首选工具包。

专为开发人员设计，支持 React、Vue、Next.js、SvelteKit 等框架。SDK 通过以下方式简化开发：

- 抽象 LLM 提供程序
- 消除聊天机器人的样板代码
- 提供交互式可视化组件以创建丰富的用户体验

Vercel AI SDK 分为三个强大的模块：

- AI SDK Core：用于生成文本、结构化数据和与 LLM 的工具交互的统一 API。
- AI SDK UI：独立于框架的钩子，用于快速构建聊天和生成 UI。
- AI SDK RSC：使用 React Server Components (RSC) 流式生成 UI 的库。

立即安装库并开始构建更智能的 AI Web 应用程序：

```
npm install ai
```

安装你选择的模型提供程序。

调用 OpenAI API：

```
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai'; // Ensure OPENAI_API_KEY environment variable is set

async function main() {
  const { text } = await generateText({
    model: openai('gpt-4-turbo'),
    system: 'You are a friendly assistant!',
    prompt: 'Why is the sky blue?',
  });

  console.log(text);
}

main();
```

有关 Vercel AI SDK 的更多信息，请访问其[官方文档](https://sdk.vercel.ai/docs/getting-started/navigating-the-library?ref=hubwiz.com)。

## 8、Julep：AI 应用程序的托管后端

构建具有长期记忆的 AI 应用程序绝非易事。但 Julep（一个开源 AI 平台）轻松解决了这一挑战。

将 [Julep](https://github.com/julep-ai/julep?ref=hubwiz.com) 视为 AI 的 Firebase 或 Supabase。它提供：

- 内存：用户管理以存储长期数据。
- 知识：内置 RAG（检索增强生成）和上下文管理。
- 工具：与 Composio 和其他平台集成。
- 任务（即将推出！）

它还提供 JavaScript 支持，便于集成。

查看[文档](https://docs.julep.ai/?ref=hubwiz.com)以了解更多信息！ 

## 9、Gateway：访问 200 多个 LLM 的单一 API

![](https://www.hubwiz.com/blog/content/images/2025/01/image-164.png)

在构建 AI 应用程序时，管理来自不同提供商的多个 LLM 可能具有挑战性，尤其是每个提供商都有独特的 SDK。

[Gateway](https://portkey.ai/features/ai-gateway?ref=hubwiz.com) 通过提供统一的 API 来访问 200 多个开源和闭源模型，从而简化了这一过程。它已准备好投入生产，具有以下功能：

- 缓存
- 回退
- 重试
- 超时
- 负载平衡

此外，它还支持边缘部署以实现最小延迟，从而确保最佳性能。

要在本地运行 Gateway，只需在你的终端中执行以下命令，它就会在你的系统上启动服务：

```
npx @portkey-ai/gateway
```

有关更多信息，请参阅他们的[ github 存储库](https://github.com/portkey-ai/gateway?ref=hubwiz.com)。

## 10、结束语

AI 开发的世界已经发展壮大，有了合适的工具，构建 AI 驱动的应用程序从未如此简单。从副驾驶和矢量数据库到代码解释器和托管后端，这些 JavaScript 库为你的项目带来了强大的功能。

- Instructor-JS 简化了结构化数据提取，消除了工作中与 LLM 结合使用的麻烦。
- CopilotKit 可将 AI 副驾驶员无缝集成到您的 React 应用程序中。
- E2B 为运行 AI 代码和长期执行提供安全可靠的环境。
- LanceDB 为 AI 模型的矢量数据提供高效管理。
- Trigger.Dev 确保可靠、长时间运行的后台作业不会超时。
- Vercel AI SDK 可帮助你使用 React 和 Vue 等各种框架轻松构建 AI Web 应用程序。
- Julep 提供具有内存、知识和工具集成的开源后端解决方案。
- Gateway 使用可用于生产的 API 统一了对 200 多个 AI 应用程序 LLM 的访问。

这些库不仅可以简化你的工作流程，还可以帮助你创建高性能、AI 驱动的应用程序。深入研究并使你的 AI 项目更智能、更快速、更高效！

---

原文链接：[Top 9 Modern Open-source Js Libraries for AI Development 2025](https://blog.stackademic.com/top-9-modern-open-source-js-libraries-for-ai-development-2025-c29524999bcf?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处