Skip to content

向量数据库

本指南介绍 SuperSQL 支持的各种向量数据库。

支持的向量数据库

SuperSQL 通过 Spring AI 支持以下向量数据库:

  • Chroma
  • Milvus
  • PgVector
  • Redis
  • Elasticsearch
  • Qdrant
  • Weaviate
  • Pinecone

Chroma

Chroma 是一个开源的向量数据库,适合本地开发和测试。

添加依赖

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-chroma</artifactId>
</dependency>

配置

yaml
spring:
  ai:
    vectorstore:
      chroma:
        client:
          host: localhost
          port: 8000
        collection-name: supersql
        initialize-schema: true

启动 Chroma

使用 Docker 启动 Chroma:

bash
docker run -it --rm --name chroma -p 8000:8000 ghcr.io/chroma-core/chroma:1.0.0

Milvus

Milvus 是一个高性能的向量数据库,适合生产环境。

添加依赖

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-milvus</artifactId>
</dependency>

配置

yaml
spring:
  ai:
    vectorstore:
      milvus:
        client:
          host: localhost
          port: 19530
        collection-name: supersql
        initialize-schema: true
        dimension: 1536

启动 Milvus

使用 Docker 启动 Milvus:

bash
docker run -d --name milvus-standalone \
  -p 19530:19530 \
  -p 9091:9091 \
  -v /path/to/milvus/data:/var/lib/milvus \
  milvusdb/milvus:latest

PgVector

PgVector 是 PostgreSQL 的向量扩展,适合已有 PostgreSQL 数据库的场景。

添加依赖

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-pgvector</artifactId>
</dependency>

配置

yaml
spring:
  ai:
    vectorstore:
      pgvector:
        dimension: 1536
        collection-name: supersql
        initialize-schema: true

启用 PgVector

在 PostgreSQL 中启用 pgvector 扩展:

sql
CREATE EXTENSION IF NOT EXISTS vector;

Redis

Redis 可以作为向量存储使用,适合需要高性能的场景。

添加依赖

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-redis</artifactId>
</dependency>

配置

yaml
spring:
  ai:
    vectorstore:
      redis:
        uri: redis://localhost:6379
        index: supersql
        prefix: supersql:

Elasticsearch

Elasticsearch 提供向量搜索功能,适合需要全文搜索的场景。

添加依赖

xml
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-elasticsearch</artifactId>
</dependency>

配置

yaml
spring:
  ai:
    vectorstore:
      elasticsearch:
        client:
          uris: http://localhost:9200
        index-name: supersql
        initialize-schema: true

选择向量数据库

开发环境

推荐使用 Chroma:

  • 易于安装和配置
  • 适合本地开发
  • 开源免费

生产环境

推荐使用 Milvus 或 PgVector:

  • 高性能
  • 可扩展
  • 生产就绪

云服务

推荐使用 Pinecone 或 Qdrant Cloud:

  • 托管服务
  • 无需维护
  • 高可用

下一步

最近更新

基于 Apache 2.0 许可证发布