infiniflow/infinity
Fork: 273 Star: 2650 (更新于 2024-11-19 12:50:26)
license: Apache-2.0
Language: C++ .
The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text
最后发布版本: v0.4.0-dev3 ( 2024-10-09 21:11:49)
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. Infinity's embedded mode enables you to quickly embed Infinity into your Python applications, without the need to connect to a separate backend server. The following shows how to operate in embedded mode:
pip install infinity-embedded-sdk==0.5.0.dev3
- Use Infinity to conduct a dense vector search:
import infinity_embedded # Connect to infinity infinity_object = infinity_embedded.connect("/absolute/path/to/save/to") # 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)
🔧 Deploy Infinity in client-server mode
If you wish to deploy Infinity with the server and client as separate processes, see the Deploy infinity server guide.
🔧 Build from Source
See the Build from Source guide.
💡 For more information about Infinity's Python API, see the Python API Reference.
📚 Document
📜 Roadmap
See the Infinity Roadmap 2024
🙌 Community
最近版本更新:(数据更新于 2024-10-14 06:29:45)
2024-10-09 21:11:49 v0.4.0-dev3
2024-10-09 15:32:19 slow-test
2024-09-23 11:20:35 v0.4.0-dev2
2024-09-12 10:00:15 v0.4.0-dev1
2024-09-04 00:25:41 v0.3.0
2024-09-02 18:39:13 v0.3.0-dev8
2024-08-08 01:14:30 v0.3.0-dev4
2024-08-05 14:16:53 v0.3.0-dev3
2024-07-25 12:38:26 v0.3.0-dev2
2024-07-22 00:43:16 v0.3.0-dev1
主题(topics):
ai-native, approximate-nearest-neighbor-search, bm25, cpp20, cpp20-modules, embedding, full-text-search, hnsw, hybrid-search, information-retrival, nearest-neighbor-search, rag, search-engine, tensor-database, vector, vector-database, vector-search, vectordatabase
infiniflow/infinity同语言 C++最近更新仓库
2024-11-21 04:48:41 PCSX2/pcsx2
2024-11-20 09:02:24 dail8859/NotepadNext
2024-11-20 04:28:15 microsoft/terminal
2024-11-18 22:35:05 ClickHouse/ClickHouse
2024-11-18 14:36:13 cxasm/notepad--
2024-11-18 00:19:27 MaaAssistantArknights/MaaAssistantArknights