taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
64 lines (63 loc) • 1.94 kB
TypeScript
import { ModelCallOptions, ModelRequestParams, ModelResponse } from '../../../types/model';
import { ModelType } from '../../../types/config';
/**
* 模型适配器接口
* 为不同的大模型API提供统一的调用接口
*/
export interface ModelAdapter {
/**
* 获取模型类型
*/
getModelType(): ModelType;
/**
* 执行聊天请求
* @param params 请求参数
* @param options 调用选项
*/
chat(params: ModelRequestParams, options?: ModelCallOptions): Promise<ModelResponse>;
/**
* 流式聊天请求
* @param params 请求参数
* @param onData 数据回调函数
* @param options 调用选项
*/
chatStream(params: ModelRequestParams, onData: (content: string, done: boolean) => void, options?: ModelCallOptions): Promise<void>;
/**
* 验证API密钥
*/
validateApiKey(): Promise<boolean>;
}
/**
* 基础模型适配器抽象类
* 提供模型适配器的通用实现
*/
export declare abstract class BaseModelAdapter implements ModelAdapter {
protected modelType: ModelType;
constructor(modelType: ModelType);
/**
* 获取模型类型
*/
getModelType(): ModelType;
/**
* 执行聊天请求
* @param params 请求参数
* @param options 调用选项
*/
abstract chat(params: ModelRequestParams, options?: ModelCallOptions): Promise<ModelResponse>;
/**
* 流式聊天请求
* @param params 请求参数
* @param onData 数据回调函数
* @param options 调用选项
*/
abstract chatStream(params: ModelRequestParams, onData: (content: string, done: boolean) => void, options?: ModelCallOptions): Promise<void>;
/**
* 验证API密钥
*/
abstract validateApiKey(): Promise<boolean>;
/**
* 处理HTTP请求错误
* @param error 错误对象
*/
protected handleRequestError(error: unknown): never;
}