pip
(推荐)需求 | 指令 | 说明 |
---|---|---|
核心功能 | pip install -U redisvl |
仅依赖 redis-py ≥5 与 pydantic ≥2 |
向量化器 | pip install redisvl[all] |
额外安装 sentence-transformers、NumPy 等 |
开发环境 | pip install redisvl[dev] |
flake8、pytest、black… |
hiredis 加速 | pip install redisvl[hiredis] |
解析效率提升 ~20 % |
Zsh 用户 | pip install redisvl\[all\] |
括号需转义 |
Python ≥3.8;推荐在 virtualenv / conda 中操作。
git clone https://github.com/redis/redis-vl-python.git
cd redisvl
# 固定到特定分支 / tag
git checkout v0.8.0
pip install -e .
-e
方式可即时反映代码修改,便于二次开发。
方案 | 适合人群 | 快速开始 |
---|---|---|
Redis Cloud | 想要“零运维”体验,直接线上用 | 注册 > 创建 DB 时勾选 Search & Query |
Redis Stack(Docker) | 本地开发 / CI 测试 | docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest |
Redis Enterprise | 生产自管集群、需要多租户 & A-A | 下载 rpm/DEB,或用 Operator 部署到 K8s |
Redis Insight:使用 Stack 镜像时自动随 8001 端口启动 GUI,便于查看向量索引与 key 空间。
# 1. 激活 venv 并安装库
python -m venv .venv && source .venv/bin/activate
pip install redisvl[all]
# 2. 连接本地 redis-stack
export REDIS_URL=redis://localhost:6379
# 3. 简单示例:存两条向量并查询
python - <<'PY'
from redisvl import Client, Index
import numpy as np
cli = Client.from_url()
index = Index("demo", client=cli,
fields=[("embedding", "VECTOR", 4, 3, 384)])
index.create(overwrite=True)
vecs = np.random.rand(2, 384).astype("float32")
index.add_documents([{"id":"a","embedding":vecs[0]},
{"id":"b","embedding":vecs[1]}])
result = index.knn_query(vecs[:1], k=1)
print(" 最相近文档:", result[0]["id"])
PY
若输出 最相近文档: a
或 b
,则环境无误。
症状 | 可能原因 | 解决方式 |
---|---|---|
ModuleNotFoundError: redis.commands.search |
Redis 版本 < 7.2 / 未加载 RediSearch | 使用 redis-py 5 / Redis Stack |
ResponseError: NOAUTH Authentication required |
Redis 开启密码 | 在 redisvl.Client.from_url("redis://:pwd@host") 中携带 |
Error while loading shared libraries: hiredis.so |
Linux 缺少编译依赖 | apt install build-essential 或移除 [hiredis] |
Docker 容器占用 0.0.0.0:6379 已被占用 | 有系统 Redis 服务 | 先 sudo systemctl stop redis ,或修改容器映射端口 |
官方文档
进阶实践
M
, ef_construction
调优性能基线(本机 M2/16 GB)
至此,你已经拥有一套 本地 + 线上 可随时切换的 RedisVL 开发环境。祝构建愉快,若遇难题,欢迎在评论区交流!