此版本仍在开发中,尚未被视为稳定版本。最新的快照版本请使用 Spring AI 1.0.0-SNAPSHOT! |
您可以通过 Docker Compose 或 Testcontainers 将 PGvector 数据库作为 Spring Boot 开发服务运行。或者,设置本地 Postgres/PGVector 附录显示了如何使用 Docker 容器在本地设置数据库。 |
如果您使用的是其他维度,请将 替换为 Actual Embedding 维度。PGvector 最多支持 2000 个 HNSW 索引维度。1536 |
这是一个突破性的变化!在早期版本的 Spring AI 中,默认情况下会进行此架构初始化。 |
请参阅 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。 请参阅 Repositories 部分,将 Milestone 和/或 Snapshot Repositories 添加到您的构建文件中。 |
如果您通过 Docker Compose 或 Testcontainers 将 PGvector 作为 Spring Boot 开发服务运行,则 您无需配置 URL、用户名和密码,因为它们是由 Spring Boot 自动配置的。 |
检查配置参数列表以了解默认值和配置选项。 |
财产 | 描述 | 默认值 |
---|---|---|
|
最近邻搜索索引类型。选项包括 - 精确最近邻搜索, - 索引将向量划分为列表,然后搜索最接近查询向量的列表子集。与 HNSW 相比,它具有更快的构建时间并使用更少的内存,但查询性能较低(在速度-召回率权衡方面)。 - 创建多层图。与 IVFFlat 相比,它的构建时间较慢,使用的内存更多,但具有更好的查询性能(在速度-召回率权衡方面)。没有像 IVFFlat 这样的训练步骤,因此可以在表中没有任何数据的情况下创建索引。 |
高净值偏南 |
|
搜索距离类型。默认为 。但是,如果向量被规范化为长度 1,则可以使用 or 以获得最佳性能。 |
COSINE_DISTANCE |
|
嵌入维度。如果未明确指定,则 PgVectorStore 将从提供的 .维度设置为表上创建的嵌入列。如果更改维度,则还必须重新创建 vector_store 表。 |
- |
|
在启动时删除现有表。 |
假 |
|
是否初始化所需的 schema |
假 |
|
矢量存储架构名称 |
|
|
矢量存储表名称 |
|
|
启用 Schema 和 Table 名称验证,以确保它们是有效的现有对象。 |
假 |
如果配置自定义架构和/或表名称,请考虑通过设置 来启用架构验证。
这样可以确保名称的正确性,并降低 SQL 注入攻击的风险。spring.ai.vectorstore.pgvector.schema-validation=true |
这些筛选表达式将转换为等效的 PgVector 筛选条件。 |
请参阅 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。 |