mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-09 23:10:20 +08:00
refactor(vertexai): 将VertexAI配置检查从ApiClientFactory移至VertexAPIClient
重构VertexAI客户端的配置检查逻辑,将其从工厂类移动到具体的客户端实现类中
This commit is contained in:
parent
d468bb6ad3
commit
aaa56da614
@ -1,5 +1,4 @@
|
|||||||
import { loggerService } from '@logger'
|
import { loggerService } from '@logger'
|
||||||
import { isVertexAIConfigured } from '@renderer/hooks/useVertexAI'
|
|
||||||
import { Provider } from '@renderer/types'
|
import { Provider } from '@renderer/types'
|
||||||
|
|
||||||
import { AihubmixAPIClient } from './AihubmixAPIClient'
|
import { AihubmixAPIClient } from './AihubmixAPIClient'
|
||||||
@ -63,12 +62,6 @@ export class ApiClientFactory {
|
|||||||
break
|
break
|
||||||
case 'vertexai':
|
case 'vertexai':
|
||||||
logger.debug(`Creating VertexAPIClient for provider: ${provider.id}`)
|
logger.debug(`Creating VertexAPIClient for provider: ${provider.id}`)
|
||||||
// 检查 VertexAI 配置
|
|
||||||
if (!isVertexAIConfigured()) {
|
|
||||||
throw new Error(
|
|
||||||
'VertexAI is not configured. Please configure project, location and service account credentials.'
|
|
||||||
)
|
|
||||||
}
|
|
||||||
instance = new VertexAPIClient(provider) as BaseApiClient
|
instance = new VertexAPIClient(provider) as BaseApiClient
|
||||||
break
|
break
|
||||||
case 'anthropic':
|
case 'anthropic':
|
||||||
|
|||||||
@ -66,7 +66,8 @@ vi.mock('@renderer/config/models', () => ({
|
|||||||
SYSTEM_MODELS: {
|
SYSTEM_MODELS: {
|
||||||
silicon: [],
|
silicon: [],
|
||||||
defaultModel: []
|
defaultModel: []
|
||||||
}
|
},
|
||||||
|
isOpenAIModel: vi.fn(() => false)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
describe('ApiClientFactory', () => {
|
describe('ApiClientFactory', () => {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { GoogleGenAI } from '@google/genai'
|
import { GoogleGenAI } from '@google/genai'
|
||||||
import { loggerService } from '@logger'
|
import { loggerService } from '@logger'
|
||||||
import { createVertexProvider, isVertexProvider } from '@renderer/hooks/useVertexAI'
|
import { createVertexProvider, isVertexAIConfigured, isVertexProvider } from '@renderer/hooks/useVertexAI'
|
||||||
import { Model, Provider, VertexProvider } from '@renderer/types'
|
import { Model, Provider, VertexProvider } from '@renderer/types'
|
||||||
import { isEmpty } from 'lodash'
|
import { isEmpty } from 'lodash'
|
||||||
|
|
||||||
@ -16,6 +16,10 @@ export class VertexAPIClient extends GeminiAPIClient {
|
|||||||
|
|
||||||
constructor(provider: Provider) {
|
constructor(provider: Provider) {
|
||||||
super(provider)
|
super(provider)
|
||||||
|
// 检查 VertexAI 配置
|
||||||
|
if (!isVertexAIConfigured()) {
|
||||||
|
throw new Error('VertexAI is not configured. Please configure project, location and service account credentials.')
|
||||||
|
}
|
||||||
this.anthropicVertexClient = new AnthropicVertexClient(provider)
|
this.anthropicVertexClient = new AnthropicVertexClient(provider)
|
||||||
// 如果传入的是普通 Provider,转换为 VertexProvider
|
// 如果传入的是普通 Provider,转换为 VertexProvider
|
||||||
if (isVertexProvider(provider)) {
|
if (isVertexProvider(provider)) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user