Milvus

Milvus 是 Llama Stack 的一个内置和远程向量数据库提供者。它允许您直接在 Milvus 数据库中存储和查询向量。这意味着您不仅限于在内存中或单独的服务中存储向量。

功能

  • 易于使用

  • 与 Llama Stack 完全集成

用法

要在您的 Llama Stack 项目中使用 Milvus,请按照以下步骤操作

  1. 安装必要的依赖项。

  2. 配置您的 Llama Stack 项目以使用 Milvus。

  3. 开始存储和查询向量。

安装

您可以使用 pymilvus 安装 Milvus

pip install pymilvus

配置

在 Llama Stack 中,Milvus 可以通过两种方式进行配置

  • 内置(本地)配置 - 使用 Milvus-Lite 进行本地存储

  • 远程配置 - 连接到远程 Milvus 服务器

内置(本地)配置

最简单的方法是本地配置,这需要设置 db_path,即用于本地存储 Milvus-Lite 文件的路径

vector_io:
  - provider_id: milvus
    provider_type: inline::milvus
    config:
      db_path: ~/.llama/distributions/together/milvus_store.db

远程配置

远程配置适用于更大的数据存储需求

标准远程连接

vector_io:
  - provider_id: milvus
    provider_type: remote::milvus
    config:
      uri: "http://<host>:<port>"
      token: "<user>:<password>"

启用 TLS 的远程连接(单向 TLS)

用于连接到启用单向 TLS 的 Milvus 实例

vector_io:
  - provider_id: milvus
    provider_type: remote::milvus
    config:
      uri: "https://<host>:<port>"
      token: "<user>:<password>"
      secure: True
      server_pem_path: "/path/to/server.pem"

相互 TLS (mTLS) 远程连接

用于连接到启用相互 TLS (mTLS) 的 Milvus 实例

vector_io:
  - provider_id: milvus
    provider_type: remote::milvus
    config:
      uri: "https://<host>:<port>"
      token: "<user>:<password>"
      secure: True
      ca_pem_path: "/path/to/ca.pem"
      client_pem_path: "/path/to/client.pem"
      client_key_path: "/path/to/client.key"

TLS 配置的关键参数

  • secure: 设置为 true 时启用 TLS 加密。默认为 false

  • server_pem_path: 服务器证书的路径,用于验证服务器身份(用于单向 TLS)。

  • ca_pem_path: 证书颁发机构 (CA) 证书的路径,用于验证服务器证书(mTLS 中必需)。

  • client_pem_path: 客户端证书文件的路径(mTLS 中必需)。

  • client_key_path: 客户端私钥文件的路径(mTLS 中必需)。

文档

有关 Milvus 的更多详细信息,请参阅 Milvus 文档

有关 TLS 配置的更多详细信息,请参阅 TLS 设置指南