项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1838
使用教程
环境要求
- 已安装 Docker(可执行 docker run)
- 本机 5432 端口可用,或自行改用其他端口
- 需要 psql 客户端用于连接数据库
- 了解基本的 SQL 与向量检索概念
安装与启动步骤
-
1启动容器
用官方镜像后台启动带 VectorChord 扩展的 Postgres,通过 -e 设置数据库密码;容器名与标签照抄即可。
docker run --name vectorchord-demo -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d ghcr.io/tensorchord/vchord-postgres:pg18-v1.1.1 -
2连接数据库
用 psql 连接本地 5432 端口,默认用户名 postgres,密码为上面设置的 mysecretpassword,回车后输入密码。
psql -h localhost -p 5432 -U postgres -
3启用扩展
在数据库中创建 vchord 扩展;CASCADE 会一并处理它依赖的 pgvector 向量类型,无需另行安装。
CREATE EXTENSION IF NOT EXISTS vchord CASCADE; -
4建表并写入数据
创建带 3 维 vector 列的表,并插入 1000 行随机向量作为测试数据。
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3)); INSERT INTO items (embedding) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000); -
5创建向量索引
用 vchordrq 索引类型为 embedding 列建 L2 距离索引,这是 VectorChord 提供的索引方式。
CREATE INDEX ON items USING vchordrq (embedding vector_l2_ops); -
6执行相似度检索
用 <-> 运算符按 L2 距离排序取最近邻,验证索引与查询链路可用。
SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
POSTGRES_PASSWORD | 是 | 设置 postgres 用户密码,连接数据库时需要 | mysecretpassword |
-p 5432:5432 | 是 | 端口映射,将宿主机端口映射到容器内 Postgres 端口 | 5432:5432 |
镜像标签 | 是 | 镜像版本需与扩展版本兼容,参考官方 support matrix | ghcr.io/tensorchord/vchord-postgres:pg18-v1.1.1 |
如何确认成功
psql 能成功连上数据库,CREATE EXTENSION 不报错,最后 SELECT 查询返回 5 条按距离排序的记录。
常见问题
Q:不想用 Docker,怎么安装?
A:README 未给出非 Docker 的安装命令,官方指引先阅读安装指南:https://docs.vectorchord.ai/vectorchord/getting-started/installation.html。
Q:数据库的默认账号密码是什么?
A:默认用户名为 postgres,密码即启动容器时通过 POSTGRES_PASSWORD 指定的值,示例中为 mysecretpassword。
Q:还需要单独安装 pgvector 吗?
A:不需要。VectorChord 依赖 pgvector 的向量表示,执行 CREATE EXTENSION ... CASCADE 时会自动处理该依赖。
Q:想同时用 BM25 或分词能力怎么办?
A:改用 all-in-one 镜像 tensorchord/vchord-suite:pg17-latest,它包含 VectorChord、VectorChord-bm25 与 pg_tokenizer.rs。
Q:索引类型为什么是 vchordrq?
A:README 的快速开始中即为该列创建 vchordrq 索引,更多索引与量化类型用法见官方 usage 文档。
注意事项
- 镜像 tag 必须与扩展版本兼容,升级前请对照官方支持矩阵。
- README 未说明数据持久化配置,容器删除后数据会丢失,生产环境请自行处理存储卷。
- README 仅演示 Docker 方式;非 Docker 安装请以官方 installation 文档为准。
- 启动后建议先在 psql 中执行 CREATE EXTENSION 再建表,否则无法使用 vector 类型。
核心亮点
- 磁盘占用大幅降低,相比同类扩展可节省数倍空间
- 查询性能出色,在百万级向量数据集上表现稳定
- 与 Postgres 原生集成,支持 SQL 和事务,无需额外服务
不足之处
- 项目较新,文档和社区生态仍在完善中
- 高级功能(如过滤索引)可能不如专用向量数据库丰富
适用场景
- 在现有 Postgres 应用中增加向量搜索能力,避免引入新数据库
- 处理大规模向量数据,且存储成本敏感的场景
- 需要事务性保证和 SQL 灵活性的 RAG 应用
替代项目
pgvector、pgvecto.rs、Milvus
上一篇:rtp-llm
下一篇:inferock-bench
同类项目推荐
llama-cpp-docker
开源
一条命令在 Docker 里跑起 GPU 加速的本地大模型
Run llama.cpp in a GPU accelerated Docker container
whylogs
开源
记录数据日志,实时监控模型质量与漂移
An open-source data logging library for machine learning models and data pipelines. ···
tabpfn-client
开源
几行代码调用 TabPFN,轻松搞定小样本表格预测
⚡ Easy API access to the tabular foundation model TabPFN ⚡
thepipe
开源
用视觉大模型,把复杂文档秒变干净数据
Get clean data from tricky documents, powered by vision-language models ⚡
1Cat-vLLM
开源
让 V100 老卡也能跑现代大模型推理
V100 / SM70-focused vLLM engineering fork for modern LLM inference.
MinerU
开源
把 PDF/Word 一键转成 AI 能读懂的 Markdown,让文档直接喂给大模型。
Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON ···
dsh-cost-meter
开源
按会话和模型实时算清 DeepSeek 花了多少钱
Cost tracking for DeepSeek Harness: session and model costs, token usage, budgets, p···
genai-fullstack-blueprint
开源
一套TypeScript全栈骨架,快速搭建多模态AI应用前后端。
Full-stack reference architecture for multimodal GenAI apps: Angular client plus Nod···
llm-d-inference-sim
开源
不装 GPU 不跑模型,秒起一个假 vLLM 服务
A lightweight, configurable, and real-time simulator designed to mimic the behavior ···
