Skip to content

AI Provider 编排

7 Provider + 智能 Fallback Chain

Provider 列表

Provider名称OpenAI 兼容默认模型
OpenAIopenaigpt-4
Anthropicanthropicclaude-4-sonnet
Googlegooglegemini-2.5
智谱zhipuglm-5
阿里alibabaqwen-max
百度baiduernie-4.0
Mockmock(模拟)

策略模式

typescript
// base.ts
export abstract class BaseAIProviderStrategy {
  abstract readonly name: string;
  abstract call(apiKey: string, config: AIRequestConfig): Promise<AIResponse>();
}

// openai-compatible.strategy.ts
export abstract class OpenAICompatibleStrategy extends BaseAIProviderStrategy {
  protected abstract readonly apiConfig: OpenAICompatibleConfig;
  // OpenAI/Alibaba/Zhipu 共享实现
}

// 具策略
export class OpenAIStrategy extends OpenAICompatibleStrategy { ... }
export class AnthropicStrategy extends BaseAIProviderStrategy { ... }

Fallback Chain

typescript
// 主 Provider 失败 → 自动切换下一个
const dispatcher = new AICallDispatcher(providerRegistry);

// 调用示例
const result = await dispatcher.dispatchAIRequest({
  provider: 'openai',
  model: 'gpt-4',
  messages: [...],
  // Fallback Chain 在 openai 失败时自动尝试 → anthropic → zhipu → mock
});

新增 Provider

typescript
// 1. 创建策略文件
export class NewProviderStrategy extends OpenAICompatibleStrategy {
  readonly name = 'new-provider';
  protected readonly apiConfig = {
    name: 'NewProvider',
    endpoint: 'https://api.example.com/v1/chat/completions',
    providerLabel: 'NewProvider',
  };
}

// 2. 注册到 Registry
providerRegistry.register(new NewProviderStrategy());

下一步:API 参考 →

基于 MIT 协议开源 · 由 Agions & 社区维护