UNPKG

taskflow-ai

Version:

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

84 lines (83 loc) 2.38 kB
/** * 百度文心一言模型提供商 * 支持ERNIE系列模型的API调用 */ import { ChineseLLMProvider, ModelConfig, ChatRequest, ChatResponse, StreamResponse, ModelInfo } from '../chinese-llm-provider'; import { Logger } from '../../../infra/logger'; /** * 百度文心模型列表 */ export declare enum BaiduWenxinModel { ERNIE_BOT = "ernie-bot",// ERNIE-Bot ERNIE_BOT_TURBO = "ernie-bot-turbo",// ERNIE-Bot-turbo ERNIE_BOT_4 = "ernie-bot-4",// ERNIE-Bot 4.0 ERNIE_SPEED = "ernie-speed",// ERNIE-Speed ERNIE_LITE = "ernie-lite",// ERNIE-Lite ERNIE_TINY = "ernie-tiny",// ERNIE-Tiny BLOOMZ_7B = "bloomz-7b",// BLOOMZ-7B LLAMA2_7B = "llama2-7b-chat",// Llama-2-7b-chat LLAMA2_13B = "llama2-13b-chat",// Llama-2-13b-chat LLAMA2_70B = "llama2-70b-chat",// Llama-2-70b-chat QIANFAN_BLOOMZ_7B = "qianfan-bloomz-7b-compressed",// 千帆BLOOMZ-7B QIANFAN_CHINESE_LLAMA2_7B = "qianfan-chinese-llama2-7b",// 千帆中文Llama2-7B CHATGLM2_6B_32K = "chatglm2-6b-32k",// ChatGLM2-6B-32K AQUILACHAT_7B = "aquilachat-7b" } /** * 百度文心一言提供商实现 */ export declare class BaiduWenxinProvider extends ChineseLLMProvider { private httpClient; private accessToken?; private tokenExpireTime?; 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 ensureAccessToken; /** * 获取访问令牌 */ private getAccessToken; /** * 检查令牌是否过期 */ private isTokenExpired; /** * 获取模型端点 */ private getModelEndpoint; /** * 格式化消息为百度文心格式 */ private formatMessagesForBaidu; /** * 格式化响应 */ private formatResponse; /** * 格式化流式响应 */ private formatStreamResponse; }