Overview
Infinity is an AI-native database built for LLM applications such as search, recommenders, question-answering, and RAG (Retrieval-augmented Generation). It handles several rich data types in one place: dense vectors, sparse vectors, tensors, full text, and structured data.
Its main idea is hybrid search. You can combine dense embedding search, sparse embedding search, tensor search, full-text search, and filtering in the same query, then rerank the results with methods like RRF, weighted sum, or ColBERT. This makes it a fit for teams building retrieval pipelines that need more than plain vector similarity.
Among vector databases, Infinity stands out for shipping as a single binary with no external dependencies, and for offering an intuitive Python API that can also run embedded as a Python module. That keeps deployment simple for AI developers who want one system instead of stitching a vector store and a search engine together.
What it does
- Hybrid search across dense embeddings, sparse embeddings, tensors, and full text, plus filtering, in a single query
- Multiple rerankers including RRF, weighted sum, and ColBERT
- Rich data types: strings, numerics, vectors, and more
- Single-binary architecture with no external dependencies for simple deployment
- Intuitive Python API, with the option to embed Infinity as a Python module
- Reported sub-millisecond vector query latency and high QPS on large datasets (see the project benchmark)
Getting started
Infinity runs as a server (commonly via Docker) with a separate Python client. Make sure you have an x86_64 CPU with AVX2 and Python 3.11+.
Start the Infinity server with Docker
On Linux or MacOS x86_64, create the data directory, pull the image, and run the container. On Windows 10+, run this inside WSL2.
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:nightlyInstall the Python client
Install the Infinity SDK with pip.
pip install infinity-sdk==0.7.0Connect and run a vector search
Connect to the server, create a table with a vector column, insert rows, and run a dense vector match.
import infinity
infinity_obj = infinity.connect(infinity.NetworkAddress("<SERVER_IP_ADDRESS>", 23817))
db_object = infinity_obj.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)Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Building the retrieval layer of a RAG pipeline that needs both semantic vector search and keyword full-text search
- Combining dense and sparse embeddings with reranking (RRF, weighted sum, or ColBERT) for higher-quality results
- Powering search, recommenders, and question-answering features in LLM applications
- Running one database for vectors, tensors, full text, and structured filters instead of operating separate systems
How Infinity compares
Infinity alongside other open-source vector databases tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Supabase | ★ 110k | Managed Postgres backend whose Vector toolkit (pgvector) stores, indexes, and queries embeddings next to transactional data. |
| Redis Cloud | ★ 76.4k | Fully-managed Redis with built-in vector search, offering low-latency similarity and hybrid queries over any embeddings. |
| Milvus | ★ 46.2k | A distributed vector database for storing and searching billions of embeddings at scale, with multiple index types and Kubernetes-native deployment. |
| FAISS | ★ 40.9k | A library from Meta for efficient similarity search and clustering of dense vectors, with both exact and approximate indexes. |
| Qdrant | ★ 34.7k | A Rust-based vector search engine that stores embeddings with rich payload filtering for semantic search and recommendation systems. |
| Chroma | ★ 29.3k | A developer-focused vector database designed for quickly building retrieval and RAG features with a simple Python and JavaScript API. |
| pgvector | ★ 23.1k | A PostgreSQL extension that adds a vector data type and similarity search so you can store and query embeddings inside an existing Postgres database. |
| Infinity | ★ 4.7k | An AI-native database with hybrid search over vectors, tensors, and full text |
