项目介绍:vectordb
什么是Epsilla?
Epsilla是一个开源的向量数据库,致力于提供更快、更经济、性能更优的向量搜索解决方案。其核心目标是解决大语言模型中信息检索与记忆保留之间的差距。通过这款数据库,用户可以在需要快速检索嵌入向量时,获得十倍于传统方法的速度,同时保证高达99.9%的精确度。
快速入门
使用Docker快速启动
-
运行后端
使用Docker命令启动Epsilla数据库:
docker pull epsilla/vectordb docker run --pull=always -d -p 8888:8888 -v /data:/data epsilla/vectordb
-
使用Python客户端进行交互
安装并通过Python与数据库进行交互:
pip install pyepsilla
然后,你可以利用下述Python代码连接数据库并进行数据插入和查询:
from pyepsilla import vectordb client = vectordb.Client(host='localhost', port='8888') client.load_db(db_name="MyDB", db_path="/data/epsilla") client.use_db(db_name="MyDB") client.create_table( table_name="MyTable", table_fields=[ {"name": "ID", "dataType": "INT", "primaryKey": True}, {"name": "Doc", "dataType": "STRING"}, ], indices=[ {"name": "Index", "field": "Doc"}, ] ) client.insert( table_name="MyTable", records=[ {"ID": 1, "Doc": "Jupiter is the largest planet..."}, # 其他记录 ], ) client.query( table_name="MyTable", query_text="Celestial bodies...", limit=2 )
主要特性
- 高性能和大规模的相似度搜索:适用于嵌入向量的搜索,速度十倍于传统的HNSW。
- 完整的数据库管理系统:支持数据库、表及字段等概念。
- 元数据过滤:增强数据查询的准确度。
- 混合搜索:集成稠密和稀疏向量的搜索。
- 自然语言嵌入:内置的嵌入支持,提供自然语言输入输出的搜索体验。
- 云原生架构:支持计算存储分离、无服务器化以及多租户。
- 丰富的生态集成:包括LangChain和LlamaIndex。
- 多种客户端支持:提供Python、JavaScript、Ruby客户端及REST API接口。
Epsilla云服务
用户可以通过Epsilla Cloud体验完全托管的向量数据库即服务。
实验性功能
用户可以在不启动Docker镜像的情况下,将Epsilla用作Python库。这需要自行构建Epsilla Python绑定库包,并运行相关测试。
在快速安装和配置这些工具与服务后,用户便能够利用Epsilla提供的强大向量搜索功能,从而更高效地进行大规模数据的处理和分析。