Infinity数据库简介
Infinity是一个为大语言模型(LLM)应用设计的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应用:
pip install infinity-sdk==0.3.0
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(["*"]).match_dense("vec", [3.0, 2.8, 2.7, 3.1], "float", "ip", 2).to_pl()
print(res)
📚 学习资源
🛠️ 高级使用
部署独立服务器
如果您希望部署独立的Infinity服务器并远程访问,请参阅部署Infinity服务器。
从源码构建
有关从源码构建Infinity的说明,请参阅从源码构建。
🔮 未来规划
查看Infinity 2024路线图了解项目的未来发展计划。
🌐 社区资源
通过以上资源,开发者可以全面了解Infinity数据库,快速上手开发LLM应用。欢迎加入Infinity社区,共同探讨AI原生数据库的发展与应用!