Skip to content

The AI-native database built for LLM applications, providing incredibly fast full-text and vector search

License

Notifications You must be signed in to change notification settings

infiniflow/infinity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

The AI-native database built for LLM applications, providing incredibly fast full-text and vector search

Infinity is a cutting-edge AI-native database that provides a wide range of search capabilities for rich data types such as vectors, 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.

๐ŸŒŸ 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.

๐Ÿ”ฎ Fused search

Supports a fused search of multiple embeddings and full text, in addition to filtering.

๐Ÿ” 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 library and friendly to AI developers.

๐ŸŽฎ Get Started

Infinity, also available as a Python library, eliminates the need for a separate back-end server and all the complex communication settings. Using pip install and import infinity, you can quickly build a local AI application in Python, leveraging the world's fastest and the most powerful RAG database:

pip install infinity-sdk==0.2.0
import infinity

# Connect to infinity
infinity_obj = infinity.connect("/path/to/save/your/files/to")
db = infinity_obj.get_database("default_db")
table = db.create_table("my_table", {"num": {"type": "integer"}, "body": {"type": "varchar"}, "vec": {"type": "vector, 4, float"}})
table.insert([{"num": 1, "body": "unnecessary and harmful", "vec": [1.0, 1.2, 0.8, 0.9]}])
table.insert([{"num": 2, "body": "Office for Harmful Blooms", "vec": [4.0, 4.2, 4.3, 4.5]}])
res = table.output(["*"]).knn("vec", [3.0, 2.8, 2.7, 3.1], "float", "ip", 2).to_pl()
print(res)

๐Ÿ› ๏ธ Deploy Infinity as a separate server

If you wish to deploy a standalone Infinity server and access it remotely:

See Deploy infinity server.

๐Ÿ› ๏ธ Build from Source

See Build from Source.

๐Ÿ’ก For more information about Infinity's Python API, see the Python API Reference.

Document

๐Ÿ“œ Roadmap

See the Infinity Roadmap 2024

๐Ÿ™Œ Community