RAGとナレッジシステム

Infino

infino-ai/infino

Infino is a fast retrieval engine that executes SQL, full-text search, and vector search over a single copy of data stored natively as Parquet on object storage.

★ 67スター
⑂ 18フォーク数
60未解決の問題
Rust言語
Apache-2.0ライセンス
Q@project.QualityScore編集部スコア

プロジェクトのスクリーンショット

Infinoのスクリーンショット Infinoのスクリーンショット Infinoのスクリーンショット Infinoのスクリーンショット Infinoのスクリーンショット Infinoのスクリーンショット

概要

Infino optimizes for speed per dollar by enabling search engine performance on object-storage economics. It allows users to run multi-modal queries—keyword (BM25), vector, and SQL—over the same rows without duplicating data. Data remains in spec-compliant Parquet format on S3, Azure, GCS, or local disk, ensuring snapshot-isolated reads, atomic commits, and no vendor lock-in for read operations. The system uses a 'superfile' format, which is a valid Parquet file with embedded full-text and vector indexes spliced before the standard footer.

主な機能

  • Multi-modal queries: BM25, vector, and SQL over a single data copy.
  • Object-storage-native: Data lives on S3, Azure, GCS, or local disk.
  • Open format: Data stored as spec-compliant Parquet, readable by any Parquet-compatible tool.
  • Hybrid search: Native support for combining keyword and vector search with reciprocal-rank fusion.
  • SQL joins across tables: Ability to join retrieval table functions with standard tables.
  • Snapshot-isolated reads and atomic commits.
  • Pushdown filters: Vector search restricted by keyword matches.

要件、インストール、クイックスタート

Python: `pip install infino` or `uv pip install infino`
Node.js: `npm install @infino-ai/infino`
Rust: `cargo add infino` (or add `infino = "0.1"` to `Cargo.toml` dependencies). Note: Infino installs the mimalloc global allocator by default; disable it with `default-features = false` if embedding in a process that already sets one.

使用方法

Connect to a backend using a URI (e.g., `memory://`, `s3://bucket/prefix`, `./data`). Create a table with a schema and an `IndexSpec` defining full-text and vector indexes. Append records, then query using `bm25_search`, `vector_search`, or `query_sql`. For hybrid retrieval, use SQL to join BM25 and vector search results, applying reciprocal-rank fusion. Standard Parquet tools can read the resulting `.sf.parquet` files directly without Infino in the read path.

モデルの互換性とユースケース

Not stated in the repository metadata

ライセンスとリスクに関する注意事項

Apache-2.0

Editorial verification 2026-08-02: repository URL, owner, description, license and repository statistics were reviewed. License metadata: Apache-2.0. README was fetched for the channel draft; re-check repository dependencies, releases and model terms before production use.

リリースとメンテナンス

Not stated in the repository metadata

LanceDB

lancedb/lancedb

★ 11.1KRust

EvalScope

modelscope/evalscope

★ 3.2KPython