为LLM应用构建的AI原生数据库,提供超快的稠密嵌入、稀疏嵌入、张量和全文混合搜索
文档 | 基准测试 | 推特 | Discord
Infinity 是一个尖端的AI原生数据库,为稠密向量、稀疏向量、张量、全文和结构化数据等丰富的数据类型提供广泛的搜索能力。它为各种LLM应用提供了强大的支持,包括搜索、推荐、问答、对话式AI、助手、内容生成及更多RAG(检索增强生成)应用。
⚡️ 性能
🌟 关键特性
Infinity 具有高性能、灵活性、易用性以及众多功能,旨在应对下一代AI应用面临的挑战:
🚀 超快速度
- 在百万级向量数据集上实现0.1毫秒的查询延迟和超过15K QPS的查询速度。
- 在3300万文档的全文搜索中实现1毫秒延迟和超过12K QPS的速度。
有关更多信息,请参见基准测试报告。
🔮 强大的搜索能力
- 支持稠密嵌入、稀疏嵌入、张量和全文的混合搜索,并支持过滤。
- 支持包括RRF、加权求和和ColBERT在内的多种重排序器。
🍔 丰富的数据类型
支持广泛的数据类型,包括字符串、数值、向量等。
🎁 易用性
- 直观的Python API。参见Python API
- 单一二进制架构,无需依赖项,部署简便。
- 嵌入Python作为模块,对AI开发者友好。
🎮 入门
Infinity 也可以作为Python模块使用,消除了对单独后端服务器及所有复杂通信设置的需求。通过 pip install
和 import infinity
,您可以快速在Python中构建本地AI应用,利用世界上最快、最强大的RAG数据库:
pip install infinity-sdk==0.3.0.dev4
import infinity
# 连接到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)
🛠️ 部署Infinity作为独立服务器
如果您希望部署一个独立的Infinity服务器并远程访问它:
请参阅部署Infinity服务器。
🛠️ 从源码构建
请参阅从源码构建。
💡 有关Infinity的Python API的更多信息,请参见Python API参考。