fix: remove dimensions(except voyage) (#6015)

* fix: remove dimensions(except voyage)

* fix: #6016
This commit is contained in:
Chen Tao
2025-05-15 18:05:29 +08:00
committed by GitHub
parent fe78ce1d70
commit dee44a8d27
6 changed files with 132 additions and 107 deletions
+2 -2
View File
@@ -23,14 +23,14 @@ export default class EmbeddingsFactory {
azureOpenAIApiVersion: apiVersion,
azureOpenAIApiDeploymentName: model,
azureOpenAIApiInstanceName: getInstanceName(baseURL),
dimensions,
// dimensions,
batchSize
})
}
return new OpenAiEmbeddings({
model,
apiKey,
dimensions,
// dimensions,
batchSize,
configuration: { baseURL }
})
-2
View File
@@ -1,6 +1,5 @@
import { BaseEmbeddings } from '@cherrystudio/embedjs-interfaces'
import { VoyageEmbeddings as _VoyageEmbeddings } from '@langchain/community/embeddings/voyage'
import Logger from 'electron-log'
export default class VoyageEmbeddings extends BaseEmbeddings {
private model: _VoyageEmbeddings
@@ -12,7 +11,6 @@ export default class VoyageEmbeddings extends BaseEmbeddings {
if (!this.configuration.outputDimension) {
throw new Error('You need to pass in the optional dimensions parameter for this model')
}
Logger.log('VoyageEmbeddings', this.configuration)
this.model = new _VoyageEmbeddings(this.configuration)
}
override async getDimensions(): Promise<number> {
@@ -245,9 +245,11 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
</Tag>
</div>
</Tooltip>
<Tag color="cyan" style={{ borderRadius: 20, margin: 0 }}>
{t('models.dimensions', { dimensions: base.dimensions || 0 })}
</Tag>
{base.rerankModel && (
<Tag color="cyan" style={{ borderRadius: 20, margin: 0 }}>
{base.rerankModel.name}
</Tag>
)}
</div>
</ModelInfo>
<HStack gap={8} alignItems="center">
@@ -1192,11 +1192,15 @@ export default class OpenAIProvider extends BaseOpenAIProvider {
public async getEmbeddingDimensions(model: Model): Promise<number> {
await this.checkIsCopilot()
const data = await this.sdk.embeddings.create({
model: model.id,
input: model?.provider === 'baidu-cloud' ? ['hi'] : 'hi'
})
return data.data[0].embedding.length
try {
const data = await this.sdk.embeddings.create({
model: model.id,
input: model?.provider === 'baidu-cloud' ? ['hi'] : 'hi'
})
return data.data[0].embedding.length
} catch (e) {
return 0
}
}
public async checkIsCopilot() {