pdf-toolmd
Version:
Convert PDF to Markdown using Node.js
72 lines (71 loc) • 1.64 kB
TypeScript
/**
* 模型客户端模块,用于处理不同视觉模型的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;