如何在生产中部署色度数据库(矢量数据库)

ank*_*jn5 7 vector-database chromadb

我正在开发一个项目,我想将嵌入保存在矢量数据库中。需要一些帮助或资源来部署色度数据库以供生产使用

Moi*_*ain 3

更新1

在 GCP 或任何其他平台上,您可以启动一个新实例。安装 docker 和 docker compose。然后运行以下 docker compose 文件。Chroma 数据库将启动并运行。然后您可以访问数据库external-ip:8000

# docker-compose.yml
version: '3.3'

services:
    server:
        image: ghcr.io/chroma-core/chroma:latest
        volumes:
            - index_data:/index_data
        environment:
            - CHROMA_DB_IMPL=clickhouse
            - CLICKHOUSE_HOST=clickhouse
            - CLICKHOUSE_PORT=8123
        ports:
            - 8000:8000
        depends_on:
            - clickhouse
    
    clickhouse:
        image: clickhouse/clickhouse-server:22.9-alpine
        environment:
            - ALLOW_EMPTY_PASSWORD=yes
            - CLICKHOUSE_TCP_PORT=9000
            - CLICKHOUSE_HTTP_PORT=8123
        ports:
            - '8123:8123'
            - '9000:9000'
        volumes:
            - clickhouse_data:/bitnami/clickhouse
            - backups:/backups
            - ./config/backup_disk.xml:/etc/clickhouse-server/config.d/backup_disk.xml
            - ./config/chroma_users.xml:/etc/clickhouse-server/users.d/chroma.xml

volumes:
    clickhouse_data:
        driver: local
    index_data:
        driver: local
    backups:
        driver: local

Run Code Online (Sandbox Code Playgroud)

还创建config/chroma_users.xml文件

<clickhouse>
    <profiles>
        <default>
            <allow_experimental_lightweight_delete>1</allow_experimental_lightweight_delete>
            <mutations_sync>1</mutations_sync>
        </default>
    </profiles>
</clickhouse>
Run Code Online (Sandbox Code Playgroud)

原答案

截至目前,chroma 团队仅发布了有关如何在 AWS 上部署数据库的详细信息https://docs.trychroma.com/deployment。但它仍处于 alpha 阶段,并使用 AWS EC2 来部署数据库。

我对使用 Kubernetes 部署数据库做了一些研究。您可以使用 docker 映像来创建部署https://github.com/chroma-core/chroma/pkgs/container/chroma。这是一种选择,但我还没有测试过。我正在努力,会更新。