# Qdrant
* 官网:
* GitHub:
Qdrant 是一个开源的向量相似度搜索引擎和向量数据库,专为高效存储和查询高维向量而设计。
## 核心特性
1. **高性能向量搜索**:
- 支持近似最近邻(ANN)搜索算法
- 提供毫秒级的向量查询响应
- 优化了高吞吐量场景下的性能
2. **丰富的数据类型支持**:
- 浮点向量和二进制向量
- 可选的 payload 数据(附加的元数据)
- 支持多种数据类型:keyword、integer、boolean等
3. **灵活的搜索功能**:
- 支持全向量和子向量搜索
- 可基于 payload 进行过滤
- 支持多种距离度量:余弦相似度、欧氏距离、点积等
4. **可扩展架构**:
- 分布式部署能力
- 水平扩展支持
- 内置数据复制和故障转移机制
## 技术优势
- **Rust 编写**:提供高性能和内存安全
- **gRPC 和 REST API**:便于集成
- **云原生设计**:支持容器化部署
- **丰富的客户端库**:Python、Go、Java 等
## 应用场景
1. **推荐系统**:基于内容的物品/用户相似度推荐
2. **语义搜索**:自然语言处理应用
3. **图像/视频检索**:基于内容的视觉搜索
4. **异常检测**:识别异常模式
5. **AI/ML应用**:作为神经网络的记忆组件
## 部署选项
- 开源版(自托管)
- Qdrant Cloud(托管服务)
- 可部署在Kubernetes集群
Qdrant 因其性能、易用性和灵活性,已成为向量数据库领域的重要选择之一,特别适合需要高效向量相似度搜索的应用场景。
## Quick Start
安装:
```bash
pip install qdrant-client
```
### Embedded方式
* 使用:
```python
from qdrant_client import QdrantClient
qdrant = QdrantClient(":memory:") # Create in-memory Qdrant instance, for testing, CI/CD
# OR
client = QdrantClient(path="path/to/db") # Persists changes to disk, fast prototyping
```
### Client-Server方式
* 启动服务
```bash
docker run -p 6333:6333 qdrant/qdrant
```
* 使用
```python
qdrant = QdrantClient("http://localhost:6333") # Connect to existing Qdrant instance
```