Благодаря обширной экосистеме, Python является несомненным лидером в сфере разработки ИИ. Однако у него есть серьезный конкурент — JavaScript/TypeScript, обладающий уникальными преимуществами:

  • Производительность: благодаря своей асинхронной природе и неблокирующему вводу-выводу JavaScript/TypeScript часто превосходит Python в веб-приложениях.
  • Возможности интеграции: бесшовная совместимость с веб-технологиями значительно упрощает создание веб-приложений на базе ИИ, не требуя перехода на другой язык.
  • Управление пакетами: будем реалистами — управление пакетами в JavaScript (npm и Yarn) более надежно и удобно по сравнению с экосистемой Python.

Хотя Python остается основным выбором для большинства библиотек, использующих технологию ИИ (каждая новая библиотека, как кажется, обеспечивает поддержку нативного Python), JavaScript уверенно господствует в сфере веб-разработки. Надежная поддержка JavaScript/TypeScript упрощает интеграцию ИИ в веб-приложения, повышая удобство фронтенд- и бэкенд-разработки.

Если вы ищете JavaScript-библиотеки с открытым исходным кодом для создания невероятных приложений с поддержкой ИИ, то попали по адресу! Я подготовил обзор библиотек, которые вам обязательно нужно попробовать, чтобы поднять свой уровень компетенции в разработке с использованием ИИ.

Изучайте их репозитории на GitHub, вносите личный вклад и выражайте поддержку своих фаворитов, отмечая их работу звездочками! 

1. Composio: ускоренное в 10 раз создание надежных агентов

Создание надежных агентов на основе ИИ может оказаться непростым делом, особенно если потребуется автоматизировать рабочие процессы с использованием внешних инструментов, таких как Discord, Slack или Calendar.

Composio — идеальный инструмент для достижения этих целей! Composio — передовая библиотека для создания приложений, использующих ИИ. Она обладает возможностями интеграции со 100+ популярными инструментами, применяемыми в различных отраслевых вертикалях, таких как CRM, продуктивность, HR и разработка. Это позволяет с легкостью автоматизировать сложные рабочие процессы.

Библиотека предлагает встроенную поддержку JavaScript, что упрощает внедрение агентов на базе ИИ в приложения.

Чтобы начать работу с 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) {
      // Если пользователь/сущность еще не выполнил(а) подключение учетной записи
      const connection = await entity.initiateConnection(appName);
      console.log("Log in via: ", connection.redirectUrl);
      return connection.waitUntilActive(60);
  }

  return connection;
}

Добавьте необходимые инструменты в SDK OpenAI и передайте имя сущности в функцию 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. Благодаря заботе агента о рабочем процессе, код можно выполнять без особых усилий.

Для получения подробных инструкций ознакомьтесь с официальной документацией. Более глубоко изучить примеры использования помогут соответствующие разделы в репозитории.

GitHub — ComposioHQ/composio: Composio equip’s your AI agents & LLMs with 100+ high-quality integrations via function calling

2. Instructor-JS: извлечение структурированных данных из LLM

До сих пор извлечение значимой информации из ответов LLM (больших языковых моделей) казалось делом хлопотным. 

Instructor-JS предложила простой способ извлечения и проверки структурированных данных из результатов 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({
  // Описание будет использоваться в промпте
  age: z.number().describe("The age of the user"), 
  name: z.string()
})

// Пользователь будет иметь тип 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" }

Для получения дополнительной информации посетите страницу официальной документации.

GitHub — instructor-ai/instructor-js: structured extraction for llms

3. CopilotKit: создание копилотов на основе ИИ для React-приложений 

Работаете над интересным проектом и хотите усилить его с помощью ИИ? Обратите внимание на CopilotKit!

CopilotKit — готовое к использованию решение, позволяющее интегрировать возможности ИИ в приложение или любую доступную кодовую базу (ПО с открытым исходным кодом). Эта библиотека предоставляет универсальные React-компоненты — текстовые области, всплывающие окна, боковые панели и чат-боты — для плавного расширения возможностей ИИ в приложении.

Начать работу очень просто! Выполните приведенную ниже команду и откройте новое измерение для своего приложения.

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

Более подробную информацию можно найти в официальной документации.

GitHub — CopilotKit/CopilotKit: React UI + elegant infrastructure for AI Copilots, in-app AI agents, AI chatbots, and AI-powered Textareas

4. E2B: интерпретация кода в приложениях с поддержкой ИИ

Создаете веб-приложение, использующее ИИ и требующее от LLM выполнения кода? Обратите внимание на интерпретатор кода от E2B — идеальное решение для аналитики на основе ИИ и разработки программного обеспечения.

Библиотека E2B обеспечивает безопасную облачную среду, позволяющую LLM надежно и эффективно выполнять код. Она поддерживает длительные процессы ИИ с использованием привычных инструментов, таких как репозитории GitHub и облачные браузеры.

SDK-пакет интерпретатора кода позволяет безопасно запускать созданный ИИ код в легкой виртуальной машине — E2B Sandbox. Виртуальная машина включает в себя Jupyter-сервер, полностью управляемый через SDK, для беспрепятственного выполнения кода, сгенерированного ИИ.

Начните работать с 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)  // выводит 2

await sandbox.close()

Подробнее о том, как работать с E2B, читайте в официальной документации.

GitHub — e2b-dev/E2B: Secure open source cloud runtime for AI apps & AI agents

5. LanceDB: высокопроизводительная векторная база данных для приложений с поддержкой ИИ

Векторные базы данных необходимы для приложений, использующих ИИ, позволяя хранить, запрашивать и контролировать эмбеддинги неструктурированных данных, таких как текст, изображения, видео и аудио.

LanceDB — высококлассная векторная база данных с открытым исходным кодом и встроенной поддержкой JavaScript. Она рассчитана на производительность в производственных масштабах и оснащена следующими функциями:

  • высокоскоростным векторным поиском;
  • поддержкой нескольких модальных окон;
  • передачей данных на основе технологии zero-copy;
  • автоматическим версионированием данных;
  • выполнением запросов с ускорением GPU.

Начните создавать более интеллектуальные приложения на основе ИИ с помощью LanceDB уже сегодня.

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

// Вы также можете искать строки по определенным критериям, не прибегая к векторному поиску.
const rowsByCriteria = await table.query().where("price >= 10").toArray();

Подробнее о библиотеке LanceDB можете узнать из ее официальной документации.

GitHub — lancedb/lancedb: Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps!

6. Trigger.Dev: надежное выполнение фоновых задач без тайм-аутов

Trigger.Dev — платформа с открытым исходным кодом и SDK, предназначенная для выполнения длительных фоновых задач без особых усилий — никаких тайм-аутов!

С помощью Trigger.Dev можно:

  • Писать стандартный асинхронный код, легко развертывать его и полностью избегать проблем с тайм-аутами.
  • Надежно вызывать API-интерфейсы ИИ с помощью таких функций, как автоматические повторные попытки и трассировка для более плавного выполнения.
  • Проводить интеграции с существующими SDK для упрощения рабочих процессов.

Упростите выполнение фоновых задач и API-интеграции с помощью Trigger.Dev уже сегодня!

import { task } from "@trigger.dev/sdk/v3";
// Сгенерируйте изображение с помощью Dall-E 3 от OpenAI 
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,
    };
  },
});

GitHub — triggerdotdev/trigger.dev: Trigger.dev is the open source background jobs platform.

7. Vercel AI SDK: TypeScript-разработка веб-приложений с поддержкой ИИ

Разрабатываете полнофункциональное приложение на базе искусственного интеллекта? Тогда Vercel AI SDK станет вашим надежным помощником.

Созданный для разработчиков, этот инструмент поддерживает такие фреймворки, как React, Vue, Next.js, SvelteKit и другие. Vercel AI SDK упрощает разработку благодаря:

  • абстрагированию LLM-провайдеров;
  • устранению шаблонного кода для чат-ботов;
  • предоставлению интерактивных компонентов визуализации для создания богатого пользовательского опыта.

Vercel AI SDK разделен на три мощных модуля:

  1. AI SDK Core: унифицированный API для генерации текста, структурированных данных и взаимодействия инструментов с LLM.
  1. AI SDK UI: независимые от фреймворка хуки для быстрого создания чатов и генеративных пользовательских интерфейсов.
  1. AI SDK RSC: библиотека для потоковой передачи генеративных пользовательских интерфейсов с помощью React Server Components (RSC).

Установите библиотеку и начните создавать более умные веб-приложения с поддержкой искусственного интеллекта уже сегодня. 

npm install ai

Установите выбранный вами провайдер моделей.

Вызовите API OpenAI.

import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai'; // Убедитесь в том, что установлена переменная среды 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();

Более подробную информацию о Vercel AI SDK можно найти в официальной документации.

GitHub — vercel/ai: Build AI-powered applications with React, Svelte, Vue, and Solid

8. Julep: управляемый бэкенд для приложений с поддержкой ИИ

Создание приложений на основе ИИ с долговременной памятью — задача не из легких. Но Julep — платформа ИИ с открытым исходным кодом — решает эту задачу без особых усилий. 

Считайте Julep чем-то вроде Firebase или Supabase для ИИ. Библиотека предлагает:

  • Память: пользовательское управление для хранения долгосрочных данных.
  • Знания: встроенная технология RAG и управление контекстом.
  • Инструменты: интеграция с Composio и другими платформами.
  • Задачи (ожидается!).

Кроме того, в Julep реализована поддержка JavaScript для упрощения интеграции.

Ознакомьтесь с официальной документацией, чтобы узнать больше о Julep!

GitHub — julep-ai/julep: A new DSL and server for AI agents and multi-step tasks

9. Gateway: единый API для доступа к 200+ LLM

При создании приложений на базе искусственного интеллекта управление несколькими LLM от разных провайдеров может оказаться сложной задачей, особенно с учетом уникального SDK каждого провайдера. 

Gateway упрощает эту задачу, предоставляя единый API для доступа к 200+ большим языковым моделям (как с открытым, так и закрытым исходным кодом). Библиотека готова к работе с функциональностью, включающей:

  • кэширование;
  • fallback-действия;
  • повторные попытки;
  • тайм-ауты;
  • балансирование нагрузки.

Кроме того, поддерживается развертывание на периферийных устройствах с минимальной задержкой, что обеспечивает оптимальную производительность.

Чтобы использовать Gateway локально, выполните приведенную ниже команду в терминале, которая запустит сервис на вашей системе.

npx @portkey-ai/gateway

Более подробную информацию об этой библиотеке можно найти в ее репозитории на Github.

Заключение

Мир разработки ИИ значительно расширился, так что создавать приложения с поддержкой ИИ никогда еще не было так просто. Ведь в вашем распоряжении целый арсенал надежных инструментов. Входящие в него JavaScript-библиотеки — от копилотов и векторных баз данных до интерпретаторов кода и управляемых бэкендов — предоставляют мощные возможности для ваших проектов:

  • Instructor-JS упростит извлечение структурированных данных, избавив вас от необходимости работать с LLM;
  • CopilotKit обеспечит бесшовную интеграцию копилотов на основе ИИ в React-приложения;
  • E2B предоставит безопасную и надежную среду для запуска кода, сгенерированного ИИ, с длительным выполнением;
  • LanceDB позволит эффективно управлять векторными данными, используемыми моделями ИИ;
  • Trigger.Dev гарантирует надежное и длительное выполнение фоновых задач без тайм-аутов;
  • Vercel AI SDK поможет легко создавать веб-приложения на базе ИИ с использованием различных фреймворков, таких как React и Vue;
  • Julep предложит бэкенд-решение с открытым исходным кодом и интеграцией памяти, знаний и инструментов;
  • Gateway объединит доступ к 200+ LLM для приложений на базе ИИ с готовым к производству API.

Эти библиотеки не только упростят ваш рабочий процесс, но и помогут создать высокопроизводительные приложения, управляемые искусственным интеллектом. Погрузитесь в работу и сделайте свои проекты по ИИ умнее, быстрее и эффективнее!

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи Let’s Code Future: Top 9 Modern Open-source Js Libraries for AI Development 2025

Предыдущая статьяC++: полное руководство по обработке файлов с fstream
Следующая статья8 эффективных способов построения доверительных отношений с коллегами