UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

86 lines (85 loc) 2.83 kB
/** * 阿里通义千问模型提供商 * 支持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>; }