index.ts 769 B

12345678910111213141516171819202122232425
  1. import type { IAiModel } from "../../api/ai";
  2. import type { ModelAdapter } from "../../types/chat";
  3. import { MockOpenAIAdapter } from "./mockOpenAI";
  4. import { OpenAIAdapter } from "./openai";
  5. const adapters = new Map<string, ModelAdapter>();
  6. // 注册适配器
  7. adapters.set("gpt-4.1", new OpenAIAdapter());
  8. adapters.set("gpt-4.1-mini", new OpenAIAdapter());
  9. adapters.set("deepseek-v3", new MockOpenAIAdapter());
  10. export function getModelAdapter(model: IAiModel): ModelAdapter {
  11. const adapter = adapters.get(model.name);
  12. if (!adapter) {
  13. throw new Error(`未找到模型适配器: ${model.name}`);
  14. }
  15. adapter.setModel(model);
  16. return adapter;
  17. }
  18. export function registerAdapter(modelId: string, adapter: ModelAdapter) {
  19. adapters.set(modelId, adapter);
  20. }