You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring AI中如何修改PGVector Store的VECTOR_TABLE_NAME?

修改Spring AI 0.8.1中PGVector Store的默认表名

在Spring AI 0.8.1版本中,官方未提供直接配置属性修改PGVector Store的默认表名(默认表名为vector_store),需要通过自定义PgVectorStore Bean的方式实现。具体步骤如下:

1. 自定义PgVectorStore Bean

创建配置类,手动实例化PgVectorStore并传入自定义表名。需要注入EmbeddingModel和PgVectorStore.PgVectorStoreConfig(该配置类会自动读取Spring Boot数据源及PGVector相关配置):

import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.pgvector.PgVectorStore;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class PgVectorCustomConfig {

    @Bean
    public PgVectorStore pgVectorStore(EmbeddingModel embeddingModel, PgVectorStore.PgVectorStoreConfig config) {
        // 替换为你的自定义表名,例如"my_custom_vector_table"
        String customTableName = "my_custom_vector_table";
        return new PgVectorStore(embeddingModel, config, customTableName);
    }
}

2. 创建自定义表结构

由于默认的自动建表逻辑针对vector_store表,你需要手动在PostgreSQL中创建自定义表,表结构需与PGVector Store的要求匹配(维度需与使用的Embedding模型一致):

-- 创建自定义向量表
CREATE TABLE IF NOT EXISTS my_custom_vector_table (
    id UUID PRIMARY KEY,
    content TEXT NOT NULL,
    metadata JSONB,
    embedding vector(1536) -- 此处维度需和你的EmbeddingModel输出维度一致
);

-- 创建向量索引(提升查询性能)
CREATE INDEX IF NOT EXISTS idx_my_custom_vector_embedding 
ON my_custom_vector_table USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);

3. 保持基础配置不变

数据源及PGVector的核心配置仍通过Spring Boot属性文件(application.properties或application.yml)指定:

# 数据源配置
spring.datasource.url=jdbc:postgresql://localhost:5432/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password

# PGVector配置(维度需与表结构中的embedding字段维度一致)
spring.ai.pgvector.dimension=1536

完成以上步骤后,PGVector Store就会使用你指定的自定义表名进行数据操作。

内容的提问来源于stack exchange,提问作者Luiz Henrique Salazar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:05:14