操作流程
- 1、下载安装
- 2、配置
- 3、测试
下载安装
- PGVector:向量数据库扩展
cd/usr/local/softwaregitclone https://github.com/pgvector/pgvector.gitcd/usr/local/software/pgvectormake-j$(nproc)PG_CONFIG=/usr/local/software/postgresql/data/pgsql/bin/pg_configmakeinstall-j$(nproc)PG_CONFIG=/usr/local/software/postgresql/data/pgsql/bin/pg_configchmod0777-R/usr/local/software/pgvectorchown$USER:$USER-R/usr/local/software/pgvector配置
- 修改数据库配置
cat>>/usr/local/software/postgresql/data/pgdata/postgresql.conf<<'EOF' shared_preload_libraries = 'vector' EOF# 重启数据库sudo-upostgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl restart-D/usr/local/software/postgresql/data/pgdata-l/usr/local/software/postgresql/data/pglog/logfile- 连接数据库
# 用户anythingllm 连接数据库 密码:QwE@123@*~*psql-h127.0.0.1-Uanythingllm-p5432-dvector_db-W- 数据库操作
-- 安装扩展vectorCREATEEXTENSIONIFNOTEXISTSvector;-- 创建数据表结构设计CREATETABLEIFNOTEXISTS"anythingllm_vectors"(id UUIDPRIMARYKEY,namespaceTEXT,embedding vector(384),-- 维度根据嵌入模型调整metadata JSONB,created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP);-- 索引优-- 创建HNSW索引提升搜索性能CREATEINDEXONanythingllm_vectorsUSINGhnsw(embedding vector_cosine_ops)WITH(m=16,ef_construction=64);-- 命名空间索引CREATEINDEXONanythingllm_vectors(namespace);-- 安全配置GRANTALLONanythingllm_vectorsTO"anythingllm";- 配置环境变量
cat>>/etc/profile<<"EOF" #set pgvector environment PGVECTOR=/usr/local/software/pgvector VECTOR_DB="pgvector" PGVECTOR_CONNECTION_STRING="postgresql://anythingllm:QwE@123@*~*@localhost:5432/vector_db" PGVECTOR_TABLE_NAME="anythingllm_vectors" PATH=$PGVECTOR:$VECTOR_DB:$PGVECTOR_CONNECTION_STRING:$PGVECTOR_TABLE_NAME:$PATH: export PGVECTOR VECTOR_DB PGVECTOR_CONNECTION_STRING PGVECTOR_TABLE_NAME PATH EOFsource/etc/profile测试
- 数据库操作
-- 监控指标-- 监控查询性能SELECTnamespace,COUNT(*)asvector_count,AVG(LENGTH(metadata::text))asavg_metadata_sizeFROManythingllm_vectorsGROUPBYnamespace;-- 索引使用情况SELECT*FROMpg_stat_all_indexesWHEREschemaname='public'ANDrelname='anythingllm_vectors';