infinity is a free, open source machine learning infrastructure project written in C++ and released under Apache-2.0. It has 4,708 GitHub stars, 445 forks and 126 open issues, and was last pushed 8 days ago. On this registry it ranks #32 of 57 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available.

What is infinity?

What it is

Infinity is an Apache-2.0, C++ database in the AI and machine-learning infrastructure ecosystem. It is an AI-native database for large language model applications, including search, recommendation, question answering, conversational AI, copilot, content generation, and retrieval-augmented generation. The project targets matching and ranking rich data types inside one system, rather than combining separate vector, text, and reranking components.

The concrete problem is retrieval over mixed data in LLM applications. Such applications need to compare embeddings, BM25-style text matches, multi-vector tensor data, and structured filters while returning ranked results. Infinity supports dense vectors, sparse vectors, tensors, full text, and structured data in a single database, with approximate nearest-neighbor and hybrid-search capabilities.

Key capabilities

  • Hybrid search combines dense embedding, sparse embedding, tensor, and full-text search with filtering.
  • It supports approximate nearest-neighbor search and HNSW, as indicated by topics.
  • It supports full-text search and BM25, with README performance on 33 million documents.
  • README reports 0.1 milliseconds query latency and 15K+ QPS on million-scale vector datasets.
  • README reports 1 millisecond latency and 12K+ QPS in full-text search on 33 million documents.
  • Reranking includes RRF, weighted sum, and ColBERT.
  • It supports strings, numerics, vectors, a Python API, and Python module integration.

Who uses it and how

  • RAG teams can store embeddings and text, then run hybrid searches combining dense-vector and full-text matching.
  • Search and recommendation workloads can use dense-vector and full-text matching in one query path, with structured filtering.
  • Developers can connect from Python with infinity-sdk, create typed tables, insert rows, and run dense-vector match queries.
  • Operators can deploy the server with Docker using infiniflow/infinity:nightly, mount /var/infinity, and run the client separately.
  • Windows users can deploy through Docker inside WSL or WSL2, while Linux and macOS x86_64 users use the documented Docker path.

Getting started

The README shows Docker deployment with infiniflow/infinity:nightly, a mounted /var/infinity directory, and a Python client installed with pip install infinity-sdk==0.7.3. It also mentions binary deployment and building from source.

When to use it — and when not to

Infinity is useful when a self-hosted system needs dense-vector, sparse-vector, tensor, full-text, and structured filtering in one retrieval layer for LLM applications. The provided facts do not list paid products it replaces, so no direct comparison can be made. A self-hoster must operate the server, storage directory, client/server split, and supported x86_64 AVX2 Linux, WSL, or macOS environment; the documented Docker image uses a nightly tag, and no hosted option is mentioned.

project readme (upstream, from github) — read inline
Infinity logo

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense embedding, sparse embedding, tensor and full-text

Document | Benchmark | Twitter | Discord

Infinity is a cutting-edge AI-native database that provides a wide range of search capabilities for rich data types such as dense vector, sparse vector, tensor, full-text, and structured data. It provides robust support for various LLM applications, including search, recommenders, question-answering, conversational AI, copilot, content generation, and many more RAG (Retrieval-augmented Generation) applications.

⚡️ Performance

Infinity performance comparison

🌟 Key Features

Infinity comes with high performance, flexibility, ease-of-use, and many features designed to address the challenges facing the next-generation AI applications:

🚀 Incredibly fast

  • Achieves 0.1 milliseconds query latency and 15K+ QPS on million-scale vector datasets.
  • Achieves 1 millisecond latency and 12K+ QPS in full-text search on 33M documents.

See the Benchmark report for more information.

🔮 Powerful search

  • Supports a hybrid search of dense embedding, sparse embedding, tensor, and full text, in addition to filtering.
  • Supports several types of rerankers including RRF, weighted sum and ColBERT.

🍔 Rich data types

Supports a wide range of data types including strings, numerics, vectors, and more.

🎁 Ease-of-use

  • Intuitive Python API. See the Python API
  • A single-binary architecture with no dependencies, making deployment a breeze.
  • Embedded in Python as a module and friendly to AI developers.

🎮 Get Started

This section provides guidance on deploying the Infinity database using Docker, with the client and server as separate processes.

Prerequisites

  • CPU: x86_64 with AVX2 support.
  • OS:
    • Linux with glibc 2.17+.
    • Windows 10+ with WSL/WSL2.
    • MacOS
  • Python: Python 3.11+.

Install Infinity server

Linux x86_64 & MacOS x86_64
sudo mkdir -p /var/infinity && sudo chown -R $USER /var/infinity
docker pull infiniflow/infinity:nightly
docker run -d --name infinity -v /var/infinity/:/var/infinity --ulimit nofile=500000:500000 --network=host infiniflow/infinity:nightly
Windows

If you are on Windows 10+, you must enable WSL or WSL2 to deploy Infinity using Docker. Suppose you've installed Ubuntu in WSL2:

  1. Follow this to enable systemd inside WSL2.

  2. Install docker-ce according to the instructions here.

  3. If you have installed Docker Desktop version 4.29+ for Windows: Settings > Features in development, then select Enable host networking.

  4. Pull the Docker image and start Infinity:

    sudo mkdir -p /var/infinity && sudo chown -R $USER /var/infinity
    docker pull infiniflow/infinity:nightly
    docker run -d --name infinity -v /var/infinity/:/var/infinity --ulimit nofile=500000:500000 --network=host infiniflow/infinity:nightly
    

Install Infinity client

pip install infinity-sdk==0.7.3

Run a vector search

import infinity

infinity_obj = infinity.connect(infinity.NetworkAddress("<SERVER_IP_ADDRESS>", 23817)) 
db_object = infinity_object.get_database("default_db")
table_object = db_object.create_table("my_table", {"num": {"type": "integer"}, "body": {"type": "varchar"}, "vec": {"type": "vector, 4, float"}})
table_object.insert([{"num": 1, "body": "unnecessary and harmful", "vec": [1.0, 1.2, 0.8, 0.9]}])
table_object.insert([{"num": 2, "body": "Office for Harmful Blooms", "vec": [4.0, 4.2, 4.3, 4.5]}])
res = table_object.output(["*"])
                  .match_dense("vec", [3.0, 2.8, 2.7, 3.1], "float", "ip", 2)
                  .to_pl()
print(res)

🔧 Deploy Infinity using binary

If you wish to deploy Infinity using binary with the server and client as separate processes, see the Deploy infinity using binary guide.

🔧 Build from Source

See the Build from Source guide.

📚 Document

📜 Roadmap

See the Infinity Roadmap 2025

🙌 Community

Frequently asked questions

Is infinity free to use?

infinity is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does infinity do?

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text.

What is infinity written in?

infinity is primarily written in C++. Its source is publicly available at https://github.com/infiniflow/infinity, and it has 4,708 GitHub stars.