项目截图
概览
Infino 通过在对象存储的经济性之上实现搜索引擎性能,优化了性价比。它允许用户对相同的行运行多模态查询——关键词(BM25)、向量和 SQL——而无需复制数据。数据以符合规范的 Parquet 格式保存在 S3、Azure、GCS 或本地磁盘上,确保了快照隔离读取、原子提交,并且读取操作无供应商锁定。该系统使用“superfile”格式,这是一种有效的 Parquet 文件,在标准页脚之前拼接了嵌入式全文和向量索引。
主要功能
- 多模态查询:在单份数据副本上执行 BM25、向量和 SQL。
- 对象存储原生:数据存放在 S3、Azure、GCS 或本地磁盘上。
- 开放格式:数据以符合规范的 Parquet 格式存储,可被任何兼容 Parquet 的工具读取。
- 混合搜索:原生支持结合关键词和向量搜索及倒数排名融合。
- 跨表 SQL 连接:能够将检索表函数与标准表进行连接。
- 快照隔离读取和原子提交。
- 下推过滤器:向量搜索受关键词匹配限制。
要求、安装和快速入门
Python:pip install infino 或 uv pip install infino
Node.js:npm install @infino-ai/infino
Rust:cargo add infino(或将 infino = "0.1" 添加到 Cargo.toml 依赖项中)。注意:Infino 默认安装 mimalloc 全局分配器;如果要嵌入到已设置分配器的进程中,请使用 default-features = false 禁用它。
Node.js:npm install @infino-ai/infino
Rust:cargo add infino(或将 infino = "0.1" 添加到 Cargo.toml 依赖项中)。注意:Infino 默认安装 mimalloc 全局分配器;如果要嵌入到已设置分配器的进程中,请使用 default-features = false 禁用它。
用法
使用 URI(例如 memory://、s3://bucket/prefix、./data)连接到后端。使用模式和定义全文及向量索引的 IndexSpec 创建表。追加记录,然后使用 bm25_search、vector_search 或 query_sql 进行查询。对于混合检索,使用 SQL 连接 BM25 和向量搜索结果,应用倒数排名融合。标准的 Parquet 工具可以直接读取生成的 .sf.parquet 文件,而无需在读取路径中包含 Infino。
模型兼容性与使用场景
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