explaingit

infiniflow/infinity

4,511C++Audience · developerComplexity · 3/5LicenseSetup · easy

TLDR

An AI-focused database built for fast search, combining vector similarity, keyword, and full-text search in one system, designed for apps that need to find relevant content quickly, like AI assistants using retrieval-augmented generation.

Mindmap

mindmap
  root((Infinity DB))
    What it does
      AI-native database
      Hybrid search
    Search types
      Dense vector
      Sparse vector
      Tensor search
      Full-text search
    Tech stack
      C++
      Python client
      Docker
    Use cases
      RAG applications
      Semantic search
      AI product backends
    Audience
      AI developers
      Backend engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Power the retrieval step of a RAG chatbot by storing document embeddings and running semantic search in under a millisecond.

USE CASE 2

Replace multiple specialized search systems with one database that handles vector, keyword, and full-text queries together.

USE CASE 3

Build an AI product backend in Python with a few lines of code to insert rows and run hybrid searches against million-scale datasets.

USE CASE 4

Store and query both vector embeddings and ordinary string or number fields in the same table without a separate database.

Tech stack

C++PythonDocker

Getting it running

Difficulty · easy Time to first run · 30min

Ships as a single binary with no external dependencies, Docker images available for Linux and macOS. Windows requires WSL2 with extra host networking steps.

Use, modify, and distribute freely including commercially, keep the Apache 2.0 license text. If you distribute a modified version, you must include the original license.

In plain English

Infinity is a database designed specifically for AI applications, with a focus on search. Unlike a traditional database built primarily for storing and retrieving records, Infinity is built around the kinds of searches that AI systems need: finding similar items based on meaning (dense vector search), matching sparse keyword patterns (sparse vector search), multi-vector comparisons (tensor search), and conventional text search, all at once or in combination. The goal is to let developers building AI-powered products run these searches quickly without stitching together multiple separate systems. The database claims strong performance figures: queries on million-scale vector datasets completing in under 0.1 milliseconds, and full-text search across 33 million documents finishing in about 1 millisecond. These numbers reflect the kinds of workloads common in retrieval-augmented generation (RAG) applications, where an AI assistant needs to quickly find relevant documents before generating a response. Infinity supports several methods for combining and re-ranking results from different search types. Setup is straightforward by database standards. The server ships as a single binary with no external dependencies, and Docker images are available for Linux and macOS. A Python package provides the client-side API. The README includes a short code example showing how to connect, create a table, insert rows, and run a vector search in a few lines of Python. Windows users need to run through WSL2 to use Docker, with some extra steps to enable host networking. The system stores not just vectors but also ordinary data types like strings and numbers in the same table, so you do not need a separate database for the non-vector portions of your data. The Python API is designed to be approachable for developers familiar with data tools rather than database internals. Infinity is built by Infiniflow and is open to contributions. The team maintains a public roadmap on GitHub and a Discord community for questions and discussion.

Copy-paste prompts

Prompt 1
Show me how to connect to Infinity DB from Python, create a table with a vector column and a text column, insert 10 rows, and run a vector similarity search returning the top 5 results.
Prompt 2
How do I run a hybrid search in Infinity DB that combines dense vector similarity with full-text keyword matching and merges the results using RRF re-ranking?
Prompt 3
Walk me through starting the Infinity DB Docker container on macOS and connecting the Python client to it for a quick test.
Prompt 4
What is the difference between dense vector search, sparse vector search, and tensor search in Infinity DB, and when should I use each one for a RAG application?
Prompt 5
How do I insert document chunks with their embedding vectors into an Infinity DB table using the Python API, then query the top-10 most similar chunks to a given question embedding?
Open on GitHub → Explain another repo

← infiniflow on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.