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, also available as a Python module, 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.3.0.dev1
import infinity
# Connect to infinity
infinity_obj = infinity.connect("/path/to/save/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:
🛠️ 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
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 Distributions
Built Distributions
File details
Details for the file infinity_sdk-0.3.0.dev1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: infinity_sdk-0.3.0.dev1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.3 MB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 006139e4cf2d8c219d824f865e76ffd45c30df04dc2cd467a0e5469d593c3392 |
|
MD5 | e7657b3d4d07fe9a814a2aa52e447c8d |
|
BLAKE2b-256 | 95ae75c974fff4db028efb6e852d0d41d57cc400469d4777a1578c7f3247b10b |
File details
Details for the file infinity_sdk-0.3.0.dev1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: infinity_sdk-0.3.0.dev1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.3 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4c7a46b40ec53fc4a87c3c6ba521666ab499645bfb890946804cb02142f9ef9 |
|
MD5 | 218bd6f14c842d97d654d8abb6c8427e |
|
BLAKE2b-256 | 217f64b5d4011720e3dd747e139aa3cfd26d09671affa5d5f1a3349e0cc3011a |
File details
Details for the file infinity_sdk-0.3.0.dev1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: infinity_sdk-0.3.0.dev1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.3 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08398fdc8a3185a00a2dc0890bc87203a3e90175a261dea12ab087a081cc7ca7 |
|
MD5 | a562a64a19cf5daae489805b06b9a13b |
|
BLAKE2b-256 | 3b63fe3e522d164f5c71fa4fa079fbc4e57f9bd954f2a9f1140dd5ef1f4655a8 |