跳到主要内容

Embedding 模块配置与使用

配置文件 (modules/embedding.yml)

此文件用于配置插件如何将文本转换为向量表示(嵌入),这对于知识库的检索至关重要。

default-model

  • 类型: 字符串
  • 必需:
  • 描述: 指定插件在处理知识库或进行相似性搜索时默认使用的嵌入模型 ID。这个 ID 必须是在下面的 models 部分定义的某个模型的 ID。
  • 示例: siliconflow-bge-m3

cache

  • 类型: 对象 (Object)
  • 必需:
  • 描述: 配置嵌入向量的内存缓存,以减少对 API 的重复调用,提高性能。

缓存配置项

  • enabled:
    • 类型: 布尔值 (true/false)
    • 必需: 否 (可能有默认值, 例如 true)
    • 描述: 是否启用嵌入缓存。
    • 示例: true
  • max-size:
    • 类型: 整数
    • 必需: 否 (如果 enabled 为 true,则可能有默认值)
    • 描述: 缓存中允许存储的最大嵌入向量数量。
    • 示例: 1000

providers

  • 类型: 对象映射 (Map)
  • 必需:
  • 描述: 定义一个或多个嵌入服务提供商。结构与 llm.yml 中的 providers 类似。

提供商配置项

对于 providers 下的每一个提供商 (例如 siliconflow):

  • type:
    • 类型: 字符串
    • 必需:
    • 描述: 指定该提供商 API 所遵循的格式 (例如 openai)。
    • 示例: openai
  • apiKey:
    • 类型: 字符串
    • 必需:
    • 描述: 用于访问该提供商 API 的密钥。建议使用环境变量 ${环境变量名}
    • 示例: ${SILICONFLOW_API_KEY}
  • baseUrl:
    • 类型: 字符串
    • 必需:
    • 描述: 该嵌入服务提供商 API 的基础 URL。
    • 示例: https://api.siliconflow.cn/v1

models

  • 类型: 对象映射 (Map)
  • 必需:
  • 描述: 定义一个或多个可用的嵌入模型。每个模型都需要一个唯一的标识符作为键 (例如 siliconflow-bge-m3)。

模型配置项

对于 models 下的每一个模型 (例如 siliconflow-bge-m3):

  • id:
    • 类型: 字符串
    • 必需:
    • 描述: 实际调用提供商 API 时使用的模型标识符。
    • 示例: "BAAI/bge-m3"
  • provider:
    • 类型: 字符串
    • 必需:
    • 描述: 指定该模型属于哪个提供商 (必须是上面 providers 中定义的 ID)。
    • 示例: siliconflow
  • dimension:
    • 类型: 整数
    • 必需:
    • 描述: 该嵌入模型生成的向量维度。这个值非常重要,需要与向量数据库 (Vector Store) 的配置相匹配。
    • 示例: 1024
  • name:
    • 类型: 字符串
    • 必需:
    • 描述: 模型的友好显示名称。
    • 示例: "硅基-bge-m3"
  • description:
    • 类型: 字符串
    • 必需:
    • 描述: 对该模型的简短描述。
    • 示例: "硅基流动提供的BGE-M3嵌入模型"

示例配置

# 嵌入服务配置

# 默认模型
default-model: siliconflow-bge-m3

# 缓存配置
cache:
enabled: true
max-size: 1000

# 提供商配置
providers:
# 硅基流动提供商
siliconflow:
type: openai
api-key: ${SILICONFLOW_API_KEY}
base-url: https://api.siliconflow.cn/v1

# 模型配置
models:
# 硅基流动模型
siliconflow-bge-m3:
id: "BAAI/bge-m3" # 实际请求使用的模型ID
provider: siliconflow # 使用的提供商
dimension: 1024
name: "硅基-bge-m3"
description: "硅基流动提供的BGE-M3嵌入模型"

本页介绍 Knowlith 的 Embedding (嵌入) 模块。

(待补充)