c05c06b7a1
* fix(embeddings): 修复VoyageAI嵌入格式和模型验证错误 修复OpenAIBaseClient中VoyageAI提供商的embedding格式设置问题 完善VoyageEmbeddings模型验证的错误提示信息 * refactor(embeddings): 移除VoyageEmbeddings的模型维度限制检查 简化VoyageEmbeddings的创建逻辑,不再对支持的模型维度进行校验 * fix(embeddings): 修复VoyageEmbeddings模型维度设置问题 修复VoyageEmbeddings中未正确校验模型是否支持设置outputDimension的问题 当provider为voyageai且模型不支持设置dimensions时,自动忽略传入的dimensions参数 * refactor(embeddings): 集中管理支持设置维度的模型列表 将各嵌入模型支持设置维度的模型列表集中到utils模块 不再让VoyageEmbeddings中getDimensions抛出错误,而是自动修复
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
export const VOYAGE_SUPPORTED_DIM_MODELS = ['voyage-3-large', 'voyage-3.5', 'voyage-3.5-lite', 'voyage-code-3']
|
|
|
|
// NOTE: 下面的暂时没用上,但先留着吧
|
|
export const OPENAI_SUPPORTED_DIM_MODELS = ['text-embedding-3-small', 'text-embedding-3-large']
|
|
|
|
export const DASHSCOPE_SUPPORTED_DIM_MODELS = ['text-embedding-v3', 'text-embedding-v4']
|
|
|
|
export const OPENSOURCE_SUPPORTED_DIM_MODELS = ['qwen3-embedding-0.6B', 'qwen3-embedding-4B', 'qwen3-embedding-8B']
|
|
|
|
export const GOOGLE_SUPPORTED_DIM_MODELS = ['gemini-embedding-exp-03-07', 'gemini-embedding-exp']
|
|
|
|
export const SUPPORTED_DIM_MODELS = [
|
|
...VOYAGE_SUPPORTED_DIM_MODELS,
|
|
...OPENAI_SUPPORTED_DIM_MODELS,
|
|
...DASHSCOPE_SUPPORTED_DIM_MODELS,
|
|
...OPENSOURCE_SUPPORTED_DIM_MODELS,
|
|
...GOOGLE_SUPPORTED_DIM_MODELS
|
|
]
|
|
|
|
/**
|
|
* 从模型 ID 中提取基础名称。
|
|
* 例如:
|
|
* - 'deepseek/deepseek-r1' => 'deepseek-r1'
|
|
* - 'deepseek-ai/deepseek/deepseek-r1' => 'deepseek-r1'
|
|
* @param {string} id 模型 ID
|
|
* @param {string} [delimiter='/'] 分隔符,默认为 '/'
|
|
* @returns {string} 基础名称
|
|
*/
|
|
export const getBaseModelName = (id: string, delimiter: string = '/'): string => {
|
|
const parts = id.split(delimiter)
|
|
return parts[parts.length - 1]
|
|
}
|
|
|
|
/**
|
|
* 从模型 ID 中提取基础名称并转换为小写。
|
|
* 例如:
|
|
* - 'deepseek/DeepSeek-R1' => 'deepseek-r1'
|
|
* - 'deepseek-ai/deepseek/DeepSeek-R1' => 'deepseek-r1'
|
|
* @param {string} id 模型 ID
|
|
* @param {string} [delimiter='/'] 分隔符,默认为 '/'
|
|
* @returns {string} 小写的基础名称
|
|
*/
|
|
export const getLowerBaseModelName = (id: string, delimiter: string = '/'): string => {
|
|
return getBaseModelName(id, delimiter).toLowerCase()
|
|
}
|