大模型应用开发专栏

(一)手把手教学:LangChain4j实现Java与AI大模型深度对话
(二)Windows搭建AI大模型应用开发环境以及踩过的坑
(三)Windows搭建AI大模型应用开发环境 - 向量数据库pgvector
(四)手把手教学:SpringBoot+LangChain4j实战全攻略
(五)手把手教学:SpringBoot整合LangChain4j实现知识库RAG检索
(六)手把手教学:SpringBoot + MCP + Cherry Studio

一、docker中安装pgvector

pgvector仓库:https://github.com/pgvector/pgvector

1、方式一:从Docker Desktop中拉取镜像

搜索pgvector

在Tag 中选择需要安装版本操作“Pull”拉取镜像,完成后操作“RUN”运行。

2、 方式二:通过命令行安装,去hub.docker选择需要安装的pgvector版本,点击Copy

 如果访问不了 hub.docker 需要科学上网或参考第一种方式

3、拉取pgvector镜像

安装完Docker后,我们就可以开始拉取pgvector的Docker镜像了。在终端中运行以下命令:

docker pull pgvector/pgvector:pg15

4、运行pgvector容器

拉取完镜像后,我们就可以运行pgvector的容器了。在终端中运行以下命令:

 docker run --name pgvector  -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres   -p 5433:5432   -v  /home/coco/postgresql/data:/var/lib/postgresql/data   -d pgvector/pgvector:pg15

5、安装和使用扩展

当容器运行起来后,我们就可以连接到pgvector数据库

docker exec -it pgvector psql -U postgres

执行的命令的截图如下:

6、使用DBeaver工具连接到数据库:

如果客户端报密码错误或忘记密码可以上面第5步登陆postgres后重置密码

ALTER USER postgres WITH PASSWORD 'postgres';  -- 设置新密码  

二、使用扩展

1、在DBeaver的内置的数据库postgres中运行以下命令来安装vector扩展:

CREATE EXTENSION vector;

安装完扩展后,我们就可以在数据库中创建包含向量字段的表了。

# 创建一个带有向量类型的表
> CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));

# 写入一条数据
> INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');

# 向量检索
> SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 3;

三、创建用户、数据库、授权

上面表创建都在PG内置的数据库postgres中执行,也可以其它用户、数据库

 # 创建用户
> CREATE USER airoot WITH PASSWORD 'airoot';

# 创建数据库
> CREATE DATABASE aidb OWNER airoot;

# 赋权
> GRANT ALL PRIVILEGES ON DATABASE aidb TO airoot;

# 添加 superuser 权限,用于安装 pgvector 插件
alter user airoot with superuser;

命令执行的过程如下:

root@Coco:/home/coco#  docker exec -it pgvector psql -U postgres
psql (15.12 (Debian 15.12-1.pgdg120+1))
Type "help" for help.


postgres=# CREATE USER airoot WITH PASSWORD 'airoot';
CREATE ROLE
postgres=# CREATE DATABASE aidb OWNER airoot;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE aidb TO airoot;
GRANT
postgres=# alter user airoot with superuser;
ALTER ROLE
postgres=#

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐