infino-ai/infino

Parquet ファイルに BM25・ベクトル・SQL インデックスを埋め込んだ組み込み検索ライブラリです。

開発の材料自由に使える · Apache-2.0LLM ツール・RAGRust難易度
1140 保存
23フォーク74Issue
デモ・公式サイトをひらくinfino.ai

中辛 の解説

Infino は Parquet ファイル 1 つに BM25・ベクトル・SQL インデックスを埋め込み、フルテキスト、ベクトル、ハイブリッド、メタデータ検索を同じテーブル上で実行する組み込み検索エンジンです。クエリはバイト範囲読み取りで動作し、クラウドストレージ上の HTTP 範囲リクエストは数個に減ります。DuckDB・pyarrow・DataFusion など標準 Parquet リーダーが同じファイルを通常テーブルとして開けるため、相互運用性が確保されています。追記専用テーブル、シングルライター、Python・Rust・Node.js SDK、YAML による設定を備え、optimize() で recall 目標に合わせてインデックスを自動調整します。vector mode(flat_ivf・ivf・hnsw_ivf)でメモリと遅延を トレードオフできます。デモ・チュートリアルはドキュメント参照が必要です。

こんなリポジトリです

こんなときに便利です

  • 大規模ドキュメント中から意味的に関連する内容をハイブリッド検索で効率よく取得したい場合
  • ローカル環境やエッジデバイス上でベクトルとテキスト検索を低遅延で実行したい場合
  • 既存 Parquet ファイルを DuckDB・DataFusion で処理しながら同時に検索インデックスを活用したい場合

主な機能

Parquet ファイル内に BM25・ベクトル・SQL インデックスを埋め込み、追加アーティファクト不要ベクトル検索で recall@10 0.992・クエリ時間 591 マイクロ秒(100 万件)を実現flat_ivf・ivf・hnsw_ivf の 3 モードでメモリと遅延のトレードオフが可能

ほかとの違い

検索インデックスを Parquet ファイル内に完全に埋め込むため、別個のインデックスファイル管理やデーモン起動が不要で、DuckDB など標準ツールとの相互運用性を確保しています。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Python 3.7+(Python 利用時)

すぐに始める

  1. Python SDK をインストールします。
pip install infino
  1. メモリ内データベース接続を作成し、スキーマを定義します。
import infino
import pyarrow as pa

db = infino.connect("memory://")

schema = pa.schema([
    pa.field("body", pa.large_utf8(), nullable=False),
    pa.field("embedding", pa.list_(pa.float32(), 384), nullable=False),
])
docs = db.create_table(
    "docs", schema,
    infino.IndexSpec().fts("body").vector("embedding", 384, "cosine"),
)
  1. データを追加します。
docs.append(rows)   # list of dicts, or an Arrow RecordBatch
  1. BM25 とベクトル検索を組み合わせたハイブリッド検索を実行します。
hits = docs.hybrid_search("body", "disk full", "embedding", query_vec, k=10)

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try infino-ai/infino

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

1147日間の増加数を計算するための比較データが不足しています

確認日時

使いやすさ · まねしやすいか

ベストサンプルサンプル評点 92/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「LLM ツール・RAG」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/infino-ai/infino.svg)](https://www.gitbap.com/r/infino-ai/infino)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る