taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
84 lines (83 loc) • 2.38 kB
TypeScript
/**
* 百度文心一言模型提供商
* 支持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;
}