向量数据库配置¶
AgentHeaven 支持多种向量数据库后端,用于存储和查询高维向量嵌入。该配置允许您在不同的提供商之间切换并自定义其设置。
1. 配置结构¶
您配置文件 (config.yaml) 中的 vdb 部分管理向量数据库设置。这是一个典型的结构:
vdb:
# 支持 Simple、Lance、ChromaDB、Milvus 和 PGVector
default_provider: lancedb
default_embedder: embedder
providers:
simple:
backend: simple
lancedb:
backend: lancedb
uri: "./.ahvn/lancedb/"
collection: "default"
refine_factor: 10
chromalite:
backend: chroma
mode: "ephemeral"
collection: "default"
chroma:
backend: chroma
mode: "persistent"
path: "./.ahvn/chromadb/"
collection: "default"
milvuslite:
backend: milvus
uri: "./.ahvn/milvus.db"
collection: "default"
milvus:
backend: milvus
host: "localhost"
port: 19530
collection: "default"
pgvector:
backend: pgvector
dialect: postgresql
host: "localhost"
port: 5432
username: "${whoami}"
collection: "default"
default_provider: 要使用的默认向量数据库(例如lancedb)。default_embedder: 要使用的默认嵌入模型。providers: 可用向量数据库配置的字典。
2. 提供商配置¶
AgentHeaven 目前支持以下向量数据库后端:
2.1. 简单向量存储¶
backend:simple
该提供商使用 llama_index.core.vector_stores.SimpleVectorStore,这是一个基本的内存向量存储。它对于不需要数据持久性的测试和开发场景非常有用。它不需要任何额外的配置参数。
2.2. LanceDB¶
backend:lancedburi: LanceDB 数据库目录的路径。collection: 默认集合名称。refine_factor: 用于优化搜索结果的参数。
2.3. ChromaDB¶
ChromaDB 可以在两种模式下运行:
临时 (
chromalite):backend:chromamode:ephemeral一个不持久化数据的内存实例。
持久化 (
chroma):backend:chromamode:persistentpath: 用于存储数据库的文件系统路径。
2.4. Milvus¶
Milvus 可以在两种模式下运行:
Lite (
milvuslite):backend:milvusuri: 本地 Milvus Lite 数据库文件的路径。
独立/集群 (
milvus):backend:milvushost: Milvus 服务器的主机名或 IP 地址。port: Milvus 服务器的端口号。
2.5. PGVector¶
backend:pgvectordialect:postgresqlhost,port,username: PostgreSQL 服务器的连接详细信息。collection: 用于存储向量的表名。