Qdrant 向量库
本指南介绍将 Qdrant 部署为 Semantic Router 后端。Qdrant 可以用作语义缓存、智能体记忆存储、向量存储和路由回放存储。
前置条件
- Docker,或已配置
kubectl的 Kubernetes 集群 - 对于 Kubernetes:已安装 Helm 3.x
使用 Docker 部署
快速开始
docker network inspect vllm-sr-network >/dev/null 2>&1 || \
docker network create vllm-sr-network
docker run -d --name qdrant \
--network vllm-sr-network \
-p 127.0.0.1:6333:6333 \
qdrant/qdrant:latest
验证 Qdrant 正在运行:
curl http://localhost:6333/healthz
带持久化
docker run -d --name qdrant \
--network vllm-sr-network \
-p 127.0.0.1:6333:6333 \
-v qdrant-data:/qdrant/storage \
qdrant/qdrant:latest
带 API 密钥认证
export QDRANT_API_KEY="$(openssl rand -hex 32)"
docker run -d --name qdrant \
--network vllm-sr-network \
-p 127.0.0.1:6333:6333 \
-v qdrant-data:/qdrant/storage \
-e QDRANT__SERVICE__API_KEY="$QDRANT_API_KEY" \
qdrant/qdrant:latest
启用身份验证后,将相同的环境引用添加到 Router 使用的每个 Qdrant 块:
api_key: ${QDRANT_API_KEY}
将值保留在进程环境或 Kubernetes Secret 中;不要把字面 API 密钥放入 Router 配置。当 Qdrant 服务器不需要身份验证时,省略 api_key。
主机映射仅在回环上暴露 HTTP 健康/API 端口。Router 通过共享 Docker 网络直接使用 Qdrant 的 gRPC 端口,因此不需要在主机上发布。下面配置中的主机名 qdrant 是 vllm-sr-network 上的 Docker DNS。如果用自定义栈名称启动 Router,例如 VLLM_SR_STACK_NAME=team-a vllm-sr serve,请将 Qdrant 附加到 team-a-vllm-sr-network,并使用匹配的可到达主机名。
Docker 示例对短期评估使用 latest。对于共享或生产部署,固定已发布的 Qdrant 版本或镜像 digest。