Skip to main content

infinity

Project description

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

🌟 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

Infinity supports two working modes, embedded mode and client-server mode. The following shows how to operate in client-server mode:

  1. Deploy Infinity in client-server mode. check the Deploy infinity server guide.

  2. Install the infinity-sdk package:

    pip install infinity-sdk==0.7.0.dev6
    
  3. Use Infinity to conduct a dense vector search:

    import infinity
    
    # Connect to infinity
    # Change the following IP address and port to your server's IP address and port
    infinity_object = infinity.connect(infinity.NetworkAddress("127.0.0.1", 23817))
    # Retrieve a database object named default_db
    db_object = infinity_object.get_database("default_db")
    # Create a table with an integer column, a varchar column, and a dense vector column
    table_object = db_object.create_table("my_table", {"num": {"type": "integer"}, "body": {"type": "varchar"}, "vec": {"type": "vector, 4, float"}})
    # Insert two rows into the table
    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]}])
    # Conduct a dense vector search
    res = table_object.output(["*"])
                      .match_dense("vec", [3.0, 2.8, 2.7, 3.1], "float", "ip", 2)
                      .to_pl()
    print(res)
    

💡 For more information about Infinity's Python API, see the Python API Reference.

📚 Document

📜 Roadmap

See the Infinity Roadmap 2024

🙌 Community

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

infinity_sdk-0.7.0.dev6.tar.gz (29.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

infinity_sdk-0.7.0.dev6-py3-none-any.whl (29.7 MB view details)

Uploaded Python 3

File details

Details for the file infinity_sdk-0.7.0.dev6.tar.gz.

File metadata

  • Download URL: infinity_sdk-0.7.0.dev6.tar.gz
  • Upload date:
  • Size: 29.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for infinity_sdk-0.7.0.dev6.tar.gz
Algorithm Hash digest
SHA256 6d8b9be0ace7fa5c790ed8bee39dc28faef448c74d60bb3be7c86f244d5d9b46
MD5 3d727fc1e6fb7b72f93ac38561dea02f
BLAKE2b-256 215c27a1afab0d96200421706afc33eba3d34684e2055c63761b3700f52f7cbf

See more details on using hashes here.

File details

Details for the file infinity_sdk-0.7.0.dev6-py3-none-any.whl.

File metadata

  • Download URL: infinity_sdk-0.7.0.dev6-py3-none-any.whl
  • Upload date:
  • Size: 29.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for infinity_sdk-0.7.0.dev6-py3-none-any.whl
Algorithm Hash digest
SHA256 9cf97aaea0238881d6be2cb11585e57069c7dfb2fce0e8002868b6bf916dba51
MD5 982e9e30a9e226055c25dc82279c911f
BLAKE2b-256 8ce56dbc74929b63c55e3bf867e9fcade32b5b7fbea2f8d2cf9d99e2df1ae70c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page