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 (嵌入) 模块。
(待补充)