(一)手把手教学: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=#