UNPKG

pdf-toolmd

Version:

Convert PDF to Markdown using Node.js

72 lines (71 loc) 1.64 kB
/** * 模型客户端模块,用于处理不同视觉模型的API调用 */ interface ModelConfig { model?: string; modelConfig?: Record<string, any>; apiKey?: string; baseUrl?: string; openAiApicompatible?: boolean; } interface ProcessImageOptions { model?: string; rolePrompt?: string; maxTokens?: number; endpoint?: string; } /** * 模型客户端类,处理与不同视觉模型的交互 */ export declare class ModelClient { private config; private apiKey; /** * 创建模型客户端实例 * @param config 配置对象 */ constructor(config: ModelConfig); /** * 初始化模型客户端 * @private */ private initClient; /** * 处理图像并转换为Markdown文本 * @param imagePath 图像文件路径 * @param prompt 提示词 * @param options 附加选项 * @returns Markdown文本 */ processImage(imagePath: Buffer | null, prompt: string, options?: ProcessImageOptions): Promise<string>; /** * 通过API调用OpenAI视觉模型 * @private */ private callOpenAIAPI; /** * 通过API调用Claude视觉模型 * @private */ private callClaudeAPI; /** * 通过API调用Gemini视觉模型 * @private */ private callGeminiAPI; /** * 通过API调用豆包视觉模型 * @private */ private callDoubaoAPI; /** * 通用HTTP请求方法 * @private */ private makeHttpRequest; /** * 获取支持的模型列表 */ getSupportedModels(): string[]; } export default ModelClient;