lxrt

Local AI infrastructure for agent frameworks - Transformers.js wrapper with LLM, TTS, STT, Web Workers, React & Vue support
788
Install
npm install lxrt
Latest Version:0.5.0
Vue:3
License:MIT
Last Updated:Jun 8, 2026
Links: GitHub  ·  npm
Maintainer: kacperpaczos

LXRT — Local AI Router & Toolkit

local ai · transformers.js · llm · tts/stt · embeddings · ocr · vectorization · web workers

Why LXRT?

  • Local-first: privacy, lower cost, lower latency.
  • One infra layer: models, cache, workers, backend selection (WebGPU/WASM/Node), progress, vector store.
  • Ready integrations: OpenAI-compatible, LangChain, React/Vue hooks.
  • Multimodal: LLM, TTS, STT, Embeddings, OCR, audio/video/image vectorization for RAG.
  • TypeScript-first: full typings, clear API.

Install

npm install lxrt @huggingface/transformers
# or yarn/pnpm equivalents

Quick start (LLM + cache + worker)

import { createAIProvider } from 'lxrt';

const provider = createAIProvider({
  llm: { model: 'onnx-community/Qwen2.5-0.5B-Instruct', dtype: 'q4' },
  backend: { prefer: 'webgpu', fallback: 'wasm' },
});

const reply = await provider.chat([
  { role: 'user', content: 'Hello, LXRT!' }
]);
console.log(reply);

Key capabilities

  • LLM / Chat: local models, backend autoscaling, model cache.
  • TTS / STT / OCR: text↔speech, speech recognition, OCR with workers and progress events.
  • Embeddings & Vectorization: text, audio, image, video → vectors for RAG; local vector store (IndexedDB).
  • OpenAI-compatible & LangChain: drop-in for existing clients.
  • React / Vue: hooks/composables useAIProvider, useChat, useVectorization.
  • Workers + Progress: heavy work off the main thread, progress events.

Examples

Embeddings (text)

const vec = await provider.embed(['hello world']);

Vectorization (file)

const result = await provider.vectorize(file, { modality: 'audio' });
console.log(result.vector, result.metadata);

OpenAI-compatible

import { OpenAIAdapter } from 'lxrt';

const client = new OpenAIAdapter(provider);
const resp = await client.chat.completions.create({
  model: 'local-llm',
  messages: [{ role: 'user', content: 'Hi!' }],
});

LangChain

import { createLangChainLLM } from 'lxrt';

const llm = createLangChainLLM(provider);
const res = await llm.invoke('Tell me a joke about cats');

React (hook)

import { useChat } from 'lxrt/react';
const { messages, sendMessage, isLoading } = useChat();

await sendMessage('Hi LXRT!');

Vue (composable)

import { useChat } from 'lxrt/vue';
const { messages, sendMessage, isLoading } = useChat();

Model download & progress

provider.on('progress', ({ file, progress }) => {
  console.log(`Downloading ${file}: ${progress}%`);
});

Configuration (quick view)

  • Backend: webgpu / wasm / node (auto-fallback).
  • Cache: automatic storage and reuse of models.
  • Workers: all heavy computation in Web Workers; UI stays responsive.
  • Vector Store: local IndexedDB for RAG/semantic search.

License

MIT

Related Packages

vue-text-to-speech

Vue 3 text-to-speech plugin with composables, UI components, and multi-provider...

1,751 19
vue-ai-hooks

Vue 3 Composable library for building AI-powered applications, with optional Rea...

8,564 1
@aivue/image-caption

AI-powered image captioning for Vue.js applications using Hugging Face BLIP mode...

658 17
map-ai-js

MAP AI documentation scaffold — install & doctor CLI for React, Vue, Next.js, Nu...

575 0
@langgraph-js/sdk

The UI SDK for LangGraph - seamlessly integrate your AI agents with frontend int...

333,667 6

Version History

Version Released Vue License
0.5.0 ^3.5.22 MIT