自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2025 年值得關(guān)注的九個(gè)現(xiàn)代化開源 JavaScript AI 開發(fā)庫(kù)

開發(fā) 前端
如果你正打算在前端或后端用 JS/TS 來做 AI 應(yīng)用,這里整理了 9 個(gè)我認(rèn)為最有價(jià)值的開源庫(kù),可以幫你大幅提升開發(fā)效率!可以去它們的 GitHub 倉(cāng)庫(kù)看看,貢獻(xiàn)代碼、提 issue、或者順手點(diǎn)個(gè) Star 支持一下。

雖然 Python 在 AI 領(lǐng)域有絕對(duì)優(yōu)勢(shì),生態(tài)非常完整,但 JS/TS 也有它的獨(dú)到之處,足以成為開發(fā) AI 應(yīng)用時(shí)的一匹“黑馬”:

  • 性能優(yōu)勢(shì):JavaScript/TypeScript 異步和非阻塞 I/O 的模式,在很多基于 Web 的場(chǎng)景里,性能表現(xiàn)并不遜色。
  • 無(wú)縫集成:想把 AI 功能嵌入到網(wǎng)頁(yè)端,JS/TS 跟前端技術(shù)能完美配合,無(wú)需不斷切換語(yǔ)言。
  • 包管理:npm、Yarn 等工具用起來很順手,管理依賴和發(fā)布包都相對(duì)便捷。

所以,盡管 Python 仍是各種 AI 庫(kù)的“官方首選”(大部分新庫(kù)都會(huì)先出 Python 版本),但在 Web 開發(fā)領(lǐng)域,JavaScript 的地位依然難以撼動(dòng)。

如果你正打算在前端或后端用 JS/TS 來做 AI 應(yīng)用,這里整理了 9 個(gè)我認(rèn)為最有價(jià)值的開源庫(kù),可以幫你大幅提升開發(fā)效率!可以去它們的 GitHub 倉(cāng)庫(kù)看看,貢獻(xiàn)代碼、提 issue、或者順手點(diǎn)個(gè) Star 支持一下。

1. Composio ?? —— 快速構(gòu)建可靠的 AI Agent

很多人想用 AI Agent 來自動(dòng)執(zhí)行外部工具(比如 Discord、Slack、Calendar 等)的復(fù)雜工作流,但發(fā)現(xiàn)做起來并不輕松。Composio 就是專門為此而生的。

image.pngimage.png

Composio 是一個(gè)支持多平臺(tái)集成的 AI 開發(fā)工具,和 100+ 常見平臺(tái)無(wú)縫連接,比如 CRM、效率工具、HR、開發(fā)者生態(tài)等,能輕松打造自動(dòng)化的復(fù)雜工作流。它本身提供了原生的 JavaScript 支持,只要安裝它就能在你的 JS/TS 項(xiàng)目里調(diào)用 AI Agent 相關(guān)功能。

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

下面舉個(gè)簡(jiǎn)單的例子,假設(shè)我們想讓用戶連接他們的 GitHub 賬號(hào),然后自動(dòng)幫他們?cè)?GitHub 上給某個(gè)倉(cāng)庫(kù)點(diǎn) Star:

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) {
    const connection = await entity.initiateConnection(appName);
    console.log("Log in via: ", connection.redirectUrl);
    return connection.waitUntilActive(60);
  }

  return connection;
}

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);
}

executeAgent("joey");

Composio 還能無(wú)縫支持 LangChain、LlamaIndex、CrewAi 等熱門框架,讓 Agent 直接幫你執(zhí)行代碼。可以去它的官方文檔或倉(cāng)庫(kù)查看更詳細(xì)的示例和高級(jí)玩法。

地址:https://github.com/composiohq/composio?utm_source=dev-to

2. Instructor-JS —— 用結(jié)構(gòu)化方式提取 LLM 數(shù)據(jù)

過去從大型語(yǔ)言模型 (LLM) 的輸出里提取信息一直很麻煩,總要想辦法解析并校驗(yàn)數(shù)據(jù)。Instructor-JS 則提供了一個(gè)簡(jiǎn)潔的解決方案,讓你可以用結(jié)構(gòu)化的方式抽取并驗(yàn)證 LLM 返回的結(jié)果。在 JavaScript 里,它用 Zod 進(jìn)行數(shù)據(jù)校驗(yàn),也同時(shí)支持 Python 環(huán)境。

只需要幾行代碼就能把無(wú)結(jié)構(gòu)的 LLM 輸出,變得有跡可循。示例:

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

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

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

const UserSchema = z.object({
  age: z.number().describe("The age of the user"),
  name: z.string()
});

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" }

去它的官方文檔或倉(cāng)庫(kù)看看,可以更靈活地處理各種數(shù)據(jù)提取與驗(yàn)證場(chǎng)景。

地址:https://github.com/instructor-ai/instructor-js

3. CopilotKit —— 一鍵打造 React AI 助手

如果你正在做一個(gè)需要嵌入 AI 助手的 React 項(xiàng)目,可以試試 CopilotKit。它封裝了一套非常方便的 React 組件,比如文本框、聊天面板、側(cè)邊欄等,讓你幾乎零配置就能給應(yīng)用添加 AI 功能。

image.pngimage.png

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

示例:引入一個(gè) CopilotSidebar,再包裹進(jìn) CopilotKit Provider。這樣就能在你的應(yīng)用里自由切換聊天和助手功能,還能自己定制 UI 風(fēng)格。

"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="你的 API Key 或者自行托管">
      <CopilotSidebar>
        {children}
      </CopilotSidebar>
    </CopilotKit>
  );
}

更多細(xì)節(jié)和定制方法,可以去它的官方文檔查看。

地址:https://github.com/CopilotKit/CopilotKit

4. E2B —— 為 AI 應(yīng)用提供安全的代碼執(zhí)行環(huán)境

有些 AI Web 應(yīng)用場(chǎng)景下,LLM 需要實(shí)時(shí)執(zhí)行代碼,比如 AI 數(shù)據(jù)分析、軟件開發(fā)助理等。E2B 的 Code Interpreter 就是為此準(zhǔn)備的:它提供了一個(gè)安全可控的云端沙盒,讓 LLM 可以“動(dòng)手”跑代碼,而且支持長(zhǎng)時(shí)間運(yùn)行、調(diào)試、導(dǎo)入 GitHub 倉(cāng)庫(kù)等。

image.pngimage.png

使用它的 Code Interpreter SDK,可以輕松把 AI 生成的代碼放在 E2B 的 Sandbox 上跑,甚至包含 Jupyter Server,能做各種復(fù)雜計(jì)算。安裝方法也很簡(jiǎn)單:

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); // 輸出 2

await sandbox.close();

如果你想讓 GPT-4 或其他模型幫你寫代碼,然后自動(dòng)執(zhí)行檢驗(yàn),可以考慮在你的后端或服務(wù)端嵌入 E2B,穩(wěn)定又安全。

地址:https://github.com/e2b-dev/E2B

5. LanceDB —— 高性能向量數(shù)據(jù)庫(kù)

很多 AI 應(yīng)用需要存儲(chǔ)、檢索文本、圖像、語(yǔ)音等內(nèi)容的嵌入向量,向量數(shù)據(jù)庫(kù)就成了必不可少的組件。LanceDB 是一個(gè)速度快、功能全的開源向量數(shù)據(jù)庫(kù),并且直接支持 JavaScript。

image.pngimage.png

它擁有如下特性:

  • 高速向量檢索
  • 多模態(tài)支持
  • Zero-copy 架構(gòu)
  • 自動(dòng)數(shù)據(jù)版本管理
  • GPU 加速查詢

安裝方法:

npm install @lancedb/lancedb

簡(jiǎn)單示例:創(chuàng)建表并做向量檢索。

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

const db = await lancedb.conect("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();
console.log(results);

適用于做相似度檢索、推薦系統(tǒng)或多模態(tài)檢索等場(chǎng)景。可去官方文檔了解更多。

地址:https://github.com/lancedb/lancedb

6. Trigger.Dev —— 長(zhǎng)時(shí)后臺(tái)任務(wù),不再擔(dān)心超時(shí)

Trigger.Dev 是一個(gè)開源平臺(tái)與 SDK,主打“長(zhǎng)時(shí)間運(yùn)行的異步后臺(tái)任務(wù)”,讓你再也不用因?yàn)槌瑫r(shí)問題而絞盡腦汁。它還支持自動(dòng)重試、可視化追蹤與調(diào)試,和各種 AI API 一起配合非常順手。

image.pngimage.png

import { task } from "@trigger.dev/sdk/v3";
// 用 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,
    };
  },
});

如果你有一些調(diào)用 AI 接口可能耗時(shí)幾十秒甚至更長(zhǎng)的任務(wù),Trigger.Dev 會(huì)讓它們執(zhí)行得更加平穩(wěn)。

地址:https://github.com/triggerdotdev/trigger.dev

7. Vercel AI SDK —— 全棧 TypeScript AI 開發(fā)套件

想用 Next.js、React、Vue 或 SvelteKit 來搭配 AI,Vercel AI SDK 幾乎是當(dāng)下最整合友好的選擇之一。它有三大模塊:

  • AI SDK Core:統(tǒng)一封裝了對(duì)各種 LLM 的調(diào)用接口。
  • AI SDK UI:提供了無(wú)框架限制的 hooks 來快速構(gòu)建聊天或其他交互式的生成式 UI。
  • AI SDK RSC:讓你在 React 服務(wù)端組件 (RSC) 里做流式的生成式渲染。

安裝方法也很簡(jiǎn)單:

npm install ai

然后選擇你喜歡的模型服務(wù),比如 OpenAI,做一次示例調(diào)用:

import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai'; // 記得設(shè)置 OPENAI_API_KEY

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();

可以去它的官方文檔查看更多在前端或全棧場(chǎng)景下的最佳實(shí)踐。

地址:https://github.com/vercel/ai

8. Julep —— AI 應(yīng)用的托管式后端

如果你想構(gòu)建擁有“長(zhǎng)期記憶”的 AI 應(yīng)用,那么 Julep(一個(gè)開源的 AI 平臺(tái))就能派上用場(chǎng)。它的定位類似“給 AI 用的 Firebase/Supabase”,提供了以下功能:

  • Memory:支持用戶管理、存儲(chǔ)各種交互上下文。
  • Knowledge:自帶 RAG(檢索增強(qiáng)生成)和上下文管理。
  • Tools:無(wú)縫對(duì)接 Composio 或其他工具。
  • Tasks(即將上線)

配合 JS/TS 也很簡(jiǎn)單,更多細(xì)節(jié)可去它的倉(cāng)庫(kù)或文檔查看。

地址:https://github.com/julep-ai/julep

9. Gateway —— 一條 API 同時(shí)接入 200+ 種 LLM

image.pngimage.png

最后,如果你的應(yīng)用需要集成好幾個(gè) LLM 提供商的模型,或者你想在服務(wù)端支持多種大模型做負(fù)載均衡,那么 Gateway 可以讓你一次性搞定。一條統(tǒng)一的 API,就能訪問 200+ 個(gè)開放或閉源的模型,而且還自帶:

  • 緩存、重試、超時(shí)等高級(jí)特性
  • Fallback 機(jī)制
  • 負(fù)載均衡
  • 支持 Edge 部署,獲取更低延遲

本地快速啟動(dòng):

npx @portkey-ai/gateway

然后就能用統(tǒng)一的方式對(duì)接各種 LLM。官方 GitHub 有詳細(xì)的配置和使用示例。

地址:https://github.com/portkey-ai/gateway?source=post_page-----c29524999bcf---------------------------------------

總結(jié)

AI 開發(fā)生態(tài)日新月異,要想快速構(gòu)建強(qiáng)大的 AI 應(yīng)用,這些 JavaScript 庫(kù)值得你優(yōu)先關(guān)注:

  1. Composio —— 一站式集成多平臺(tái)、快速構(gòu)建 AI Agent
  2. Instructor-JS —— 結(jié)構(gòu)化提取并校驗(yàn) LLM 輸出
  3. CopilotKit —— 在 React 項(xiàng)目中快速嵌入 AI 助手
  4. E2B —— 安全的云端代碼執(zhí)行環(huán)境
  5. LanceDB —— 高性能向量數(shù)據(jù)庫(kù)
  6. Trigger.Dev —— 穩(wěn)定且可重試的長(zhǎng)時(shí)異步任務(wù)
  7. Vercel AI SDK —— 全棧 TS AI 開發(fā)首選
  8. Julep —— 為 AI 提供類似 Firebase 的后端支持
  9. Gateway —— 一個(gè)接口整合 200+ LLM,便于快速擴(kuò)展

這些庫(kù)不僅能簡(jiǎn)化你的開發(fā)流程,也能讓你的 AI 應(yīng)用更靈活、更高效??梢栽囍鹨惑w驗(yàn),尋找最適合自己業(yè)務(wù)需求的組合。

你平時(shí)在開發(fā)中還用過哪些不錯(cuò)的 AI 工具或框架?歡迎分享心得,讓我們一起把 AI 產(chǎn)品做得更好!

責(zé)任編輯:武曉燕 來源: 大遷世界
相關(guān)推薦

2025-01-08 10:17:11

2024-12-10 15:39:44

2025-03-10 11:30:00

開源前端開發(fā)

2025-01-06 10:43:31

2024-09-18 06:20:00

2025-01-21 08:30:25

2025-03-31 01:00:00

AI編碼趨勢(shì)

2025-01-16 00:16:22

2022-05-19 10:39:28

人工智能AI

2019-01-02 08:35:42

開發(fā)者技能博客

2017-01-05 09:13:23

開源項(xiàng)目

2021-06-21 06:16:50

React React PDF 庫(kù)前端

2018-10-08 09:00:00

前端JavaScriptIDE

2020-02-03 09:30:42

開發(fā)技能代碼

2023-01-11 09:23:50

開發(fā)框架WAF

2023-12-19 13:33:45

AI人工智能

2025-04-20 18:54:24

工具Tailwind開發(fā)

2022-03-31 08:00:00

人工智能技術(shù)數(shù)字化轉(zhuǎn)型

2022-02-10 10:53:08

人工智能CIO技術(shù)

2021-01-14 16:45:25

5G移動(dòng)網(wǎng)絡(luò)網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)