taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
86 lines (85 loc) • 2.83 kB
TypeScript
/**
* 阿里通义千问模型提供商
* 支持Qwen系列模型的API调用
*/
import { ChineseLLMProvider, ModelConfig, ChatRequest, ChatResponse, StreamResponse, ChatMessage, ModelInfo } from '../chinese-llm-provider';
import { Logger } from '../../../infra/logger';
/**
* 阿里通义千问模型列表
*/
export declare enum AlibabaQwenModel {
QWEN_TURBO = "qwen-turbo",// 通义千问-Turbo
QWEN_PLUS = "qwen-plus",// 通义千问-Plus
QWEN_MAX = "qwen-max",// 通义千问-Max
QWEN_MAX_1201 = "qwen-max-1201",// 通义千问-Max-1201
QWEN_MAX_LONGCONTEXT = "qwen-max-longcontext",// 通义千问-Max长文本
QWEN_7B_CHAT = "qwen-7b-chat",// Qwen-7B-Chat
QWEN_14B_CHAT = "qwen-14b-chat",// Qwen-14B-Chat
QWEN_72B_CHAT = "qwen-72b-chat",// Qwen-72B-Chat
QWEN_1_8B_LONGCONTEXT_CHAT = "qwen-1.8b-longcontext-chat",// Qwen-1.8B长文本
QWEN_1_8B_CHAT = "qwen-1.8b-chat",// Qwen-1.8B-Chat
QWEN_VL_PLUS = "qwen-vl-plus",// 通义千问-VL-Plus
QWEN_VL_MAX = "qwen-vl-max",// 通义千问-VL-Max
QWEN_AUDIO_TURBO = "qwen-audio-turbo",// 通义千问-Audio-Turbo
QWEN_AUDIO_CHAT = "qwen-audio-chat"
}
/**
* 阿里通义千问提供商实现
*/
export declare class AlibabaQwenProvider extends ChineseLLMProvider {
private httpClient;
private readonly baseUrl;
constructor(config: ModelConfig, logger: Logger);
/**
* 聊天补全
*/
chat(request: ChatRequest): Promise<ChatResponse>;
/**
* 流式聊天补全
*/
chatStream(request: ChatRequest, onChunk: (chunk: StreamResponse) => void): Promise<void>;
/**
* 验证API密钥
*/
validateApiKey(): Promise<boolean>;
/**
* 获取模型信息
*/
getModelInfo(): Promise<ModelInfo>;
/**
* 获取支持的模型列表
*/
getSupportedModels(): string[];
/**
* 格式化消息为通义千问格式
*/
private formatMessagesForQwen;
/**
* 格式化响应
*/
private formatResponse;
/**
* 格式化流式响应
*/
private formatStreamResponse;
/**
* 映射结束原因
*/
private mapFinishReason;
/**
* 多模态聊天(支持图片)
*/
chatWithImage(messages: ChatMessage[], imageUrls: string[], options?: Partial<ChatRequest>): Promise<ChatResponse>;
/**
* 长文本处理
*/
processLongText(text: string, instruction: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
/**
* 代码生成
*/
generateCode(requirement: string, language?: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
/**
* 文档总结
*/
summarizeDocument(document: string, summaryType?: 'brief' | 'detailed' | 'key_points', options?: Partial<ChatRequest>): Promise<ChatResponse>;
}