mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 14:41:24 +08:00
- Added provider API host formatting utilities to handle differences between Cherry Studio and AI SDK. - Introduced functions for formatting provider API hosts, including support for Azure OpenAI and Vertex AI. - Created a simple API key rotator for managing API key rotation. - Developed shared provider initialization and mapping utilities for resolving provider IDs. - Implemented AI SDK configuration utilities for converting Cherry Studio providers to AI SDK configurations. - Added support for various providers including OpenRouter, Google Vertex AI, and Amazon Bedrock. - Enhanced error handling and logging in the unified messages service for better debugging. - Introduced functions for streaming and generating unified messages using AI SDK.
23 lines
833 B
TypeScript
23 lines
833 B
TypeScript
import type { MinimalModel, MinimalProvider, ProviderType } from '../types'
|
|
import { provider2Provider, startsWith } from './helper'
|
|
import type { RuleSet } from './types'
|
|
|
|
// https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry
|
|
const AZURE_ANTHROPIC_RULES: RuleSet = {
|
|
rules: [
|
|
{
|
|
match: startsWith('claude'),
|
|
provider: (provider: MinimalProvider) => ({
|
|
...provider,
|
|
type: 'anthropic' as ProviderType,
|
|
apiHost: provider.apiHost + 'anthropic/v1',
|
|
id: 'azure-anthropic'
|
|
})
|
|
}
|
|
],
|
|
fallbackRule: (provider: MinimalProvider) => provider
|
|
}
|
|
|
|
export const azureAnthropicProviderCreator = <P extends MinimalProvider>(model: MinimalModel, provider: P): P =>
|
|
provider2Provider<MinimalModel, MinimalProvider, P>(AZURE_ANTHROPIC_RULES, model, provider)
|