Sign In

@infino-ai/infino

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@infino-ai/infino

Fast search on object storage — SQL, full-text, and vector search.

latest
Source
npmnpm
Version
0.5.1
Version published
Maintainers
1
Created
Source

infino

npm Node Downloads License

SQL, full-text, and vector search over your data on object storage — one engine, no server to run.

Infino keeps your data in Apache Parquet on object storage (local disk, Amazon S3, or any S3-compatible store) and runs SQL, full-text (BM25), and vector search over it from a single system. Each file is a valid Parquet file with BM25 and vector indexes embedded directly inside it; a table composes many such files with snapshot-isolated reads, append-only writes, and atomic commits. It runs in your process — there is no daemon, no cluster, and no managed service to operate.

Use it for RAG, agent memory, hybrid search, and semantic search: an embedded vector database, full-text (BM25) search engine, and SQL query engine in one library.

Install

npm install @infino-ai/infino

A prebuilt native binary is selected automatically at install time — no Rust toolchain required. Supported platforms:

PlatformArchitectures
macOSx64, arm64
Linux (glibc)x64, arm64
Linux (musl / Alpine)x64, arm64

Requires Node.js >= 18. apache-arrow is installed as a dependency and used at the boundary (passing in Tables, or { arrow: true } results).

Quickstart

import { connect, IndexSpec } from "@infino-ai/infino";

// Connect to a catalog. Use a local path or an S3 URI for durable storage;
// "memory://" is ephemeral and handy for tests.
const db = connect("./data");

// Tiny stand-in for your embedding model so this runs as-is — a 16-dim
// one-hot by topic. Real embeddings are dense and higher-dimensional.
const embed = (topic) => { const v = Array(16).fill(0.0); v[topic] = 1.0; return v; };

// Declare a schema and which columns to index. An `_id` column is added
// automatically — you don't define it.
const docs = db.createTable(
  "docs",
  { source: "large_utf8", body: "large_utf8", embedding: { vector: 16 } },
  new IndexSpec().fts("body").vector("embedding", 16, "cosine"),
);

// Append rows. One append is one atomic commit.
docs.append([
  { source: "help-center", body: "To cancel a subscription, open Settings then Billing.", embedding: embed(0) },
  { source: "help-center", body: "Refunds return to the original payment method.",         embedding: embed(0) },
  { source: "blog",        body: "Enable dark mode under Settings then Appearance.",        embedding: embed(1) },
]);

// Retrieve context to ground an agent's next answer — keyword, vector,
// hybrid (BM25 + vector fused in one pass), or SQL:
const keyword  = docs.bm25Search("body", "cancel subscription", 5);                          // BM25
const semantic = docs.vectorSearch("embedding", embed(0), 5);                                // vector kNN
const hybrid   = docs.hybridSearch("body", "cancel subscription", "embedding", embed(0), 5); // fused
const billing  = db.querySql("SELECT body FROM docs WHERE source = 'help-center'");          // SQL filter

CommonJS works too — const { connect, IndexSpec } = require("@infino-ai/infino");.

The API is synchronous. In a long-running server, run calls in a worker_thread so a query doesn't block the event loop.

Documentation

Full docs, guides, and the API reference live at infino.ai/docs:

Building from source

The binding is built with napi-rs and requires a Rust toolchain.

cd infino-node
npm install && npm run build && npm test

License

Apache-2.0.

Keywords

search

FAQs

Package last updated on 11 Aug 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts