mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-20 07:00:09 +08:00
parent
4962f692a7
commit
411c5bc94e
@ -2,7 +2,6 @@ import type { BaseEmbeddings } from '@cherrystudio/embedjs-interfaces'
|
|||||||
import { OllamaEmbeddings } from '@cherrystudio/embedjs-ollama'
|
import { OllamaEmbeddings } from '@cherrystudio/embedjs-ollama'
|
||||||
import { OpenAiEmbeddings } from '@cherrystudio/embedjs-openai'
|
import { OpenAiEmbeddings } from '@cherrystudio/embedjs-openai'
|
||||||
import { AzureOpenAiEmbeddings } from '@cherrystudio/embedjs-openai/src/azure-openai-embeddings'
|
import { AzureOpenAiEmbeddings } from '@cherrystudio/embedjs-openai/src/azure-openai-embeddings'
|
||||||
import { getInstanceName } from '@main/utils'
|
|
||||||
import { ApiClient } from '@types'
|
import { ApiClient } from '@types'
|
||||||
|
|
||||||
import { VOYAGE_SUPPORTED_DIM_MODELS } from './utils'
|
import { VOYAGE_SUPPORTED_DIM_MODELS } from './utils'
|
||||||
@ -45,7 +44,7 @@ export default class EmbeddingsFactory {
|
|||||||
azureOpenAIApiKey: apiKey,
|
azureOpenAIApiKey: apiKey,
|
||||||
azureOpenAIApiVersion: apiVersion,
|
azureOpenAIApiVersion: apiVersion,
|
||||||
azureOpenAIApiDeploymentName: model,
|
azureOpenAIApiDeploymentName: model,
|
||||||
azureOpenAIApiInstanceName: getInstanceName(baseURL),
|
azureOpenAIEndpoint: baseURL,
|
||||||
dimensions,
|
dimensions,
|
||||||
batchSize
|
batchSize
|
||||||
})
|
})
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { loggerService } from '@logger'
|
|||||||
import { ApiClientFactory } from '@renderer/aiCore/clients/ApiClientFactory'
|
import { ApiClientFactory } from '@renderer/aiCore/clients/ApiClientFactory'
|
||||||
import { BaseApiClient } from '@renderer/aiCore/clients/BaseApiClient'
|
import { BaseApiClient } from '@renderer/aiCore/clients/BaseApiClient'
|
||||||
import { isDedicatedImageGenerationModel, isFunctionCallingModel } from '@renderer/config/models'
|
import { isDedicatedImageGenerationModel, isFunctionCallingModel } from '@renderer/config/models'
|
||||||
|
import { getProviderByModel } from '@renderer/services/AssistantService'
|
||||||
import type { GenerateImageParams, Model, Provider } from '@renderer/types'
|
import type { GenerateImageParams, Model, Provider } from '@renderer/types'
|
||||||
import { RequestOptions, SdkModel } from '@renderer/types/sdk'
|
import { RequestOptions, SdkModel } from '@renderer/types/sdk'
|
||||||
import { isEnabledToolUse } from '@renderer/utils/mcp-tools'
|
import { isEnabledToolUse } from '@renderer/utils/mcp-tools'
|
||||||
@ -135,6 +136,9 @@ export default class AiProvider {
|
|||||||
public async getEmbeddingDimensions(model: Model): Promise<number> {
|
public async getEmbeddingDimensions(model: Model): Promise<number> {
|
||||||
try {
|
try {
|
||||||
// Use the SDK instance to test embedding capabilities
|
// Use the SDK instance to test embedding capabilities
|
||||||
|
if (this.apiClient instanceof OpenAIResponseAPIClient && getProviderByModel(model).type === 'azure-openai') {
|
||||||
|
this.apiClient = this.apiClient.getClient(model) as BaseApiClient
|
||||||
|
}
|
||||||
const dimensions = await this.apiClient.getEmbeddingDimensions(model)
|
const dimensions = await this.apiClient.getEmbeddingDimensions(model)
|
||||||
return dimensions
|
return dimensions
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user