
# RAG示例：人脸向量数据库
# NODE环境
``` bash
npm install canvas --canvas_binary_host_mirror=https://registry.npmmirror.com/-/binary/canvas
```
# 数据库环境
* https://pkgs.org/download/postgresql-11-pgvector-dbgsym
* https://learn.microsoft.com/zh-cn/azure/cosmos-db/postgresql/howto-use-pgvector
``` bash
# Add PostgreSQL repository as described on its homepage:
# https://wiki.postgresql.org/wiki/Apt
# Update the package index:
sudo apt-get update

# Install postgresql-11-pgvector deb package:
sudo apt-get install postgresql-11-pgvector

# 激活插件
CREATE EXTENSION vector;
```
- 修改配置文件 postgresql.conf
``` bash
## 请确保你已经正确安装了vector插件，并且已经在你的PostgreSQL数据库中启用了该插件。你可以通过检查postgresql.conf文件或者运行以下命令来确认插件是否已加载：
SHOW shared_preload_libraries;

## 如果插件未在列表中显示，你需要编辑postgresql.conf文件并将vector插件的名称添加到shared_preload_libraries配置项中。例如：
shared_preload_libraries = 'vector'

## 保存文件后，重新启动PostgreSQL服务器以使更改生效。

# 语句查询

<-> 	欧几里得距离
<#> 	负内积
<=> 	余弦距离
```

# 数据范式
- 创建 Schema "FaceReport"
    - user Pointer<_User> 用户指针
    - photo String类型 正脸照片图片地址
    - feat68 Array类型 存储面部68特征点向量
    - title String类型 面部数据标题
- 创建拓展字段
``` sql
-- 数据字段
ALTER TABLE "FaceReport" ADD COLUMN feat68_vector vector(128);
```