/** * LLM Provider 统一抽象层 * * 支持 OpenAI 兼容 API(DeepSeek / Gemini / OpenAI / 自定义)。 * 所有 provider 都使用 OpenAI 兼容格式,通过 baseUrl 切换。 */ import type { AgentConfig } from "../types.js"; export interface LLMMessage { role: "system" | "user" | "assistant"; content: string; } export interface LLMResponse { content: string; model: string; usage?: { promptTokens: number; completionTokens: number; totalTokens: number; }; } export interface LLMOptions { temperature?: number; maxTokens?: number; responseFormat?: "text" | "json_object"; } /** 获取所有可用 provider 列表 */ export declare function getAvailableProviders(): Array<{ name: string; model: string; description: string; }>; export declare class LLMClient { private baseUrl; private model; private apiKey; private provider; constructor(config: AgentConfig); /** 调用 LLM Chat Completions API(OpenAI 兼容格式) */ chat(messages: LLMMessage[], options?: LLMOptions): Promise; /** 简易调用:单条 prompt → 文本回复 */ complete(prompt: string, options?: LLMOptions): Promise; /** JSON 模式调用:prompt → 解析后的 JSON 对象 */ completeJSON>(prompt: string, options?: LLMOptions): Promise; /** * 流式调用 LLM(SSE 方式) * 每收到一个 token 回调 onChunk,完成后回调 onDone */ chatStream(messages: LLMMessage[], callbacks: { onChunk: (text: string) => void; onDone?: (fullText: string) => void; onError?: (error: Error) => void; }, options?: LLMOptions): Promise; /** 流式简易调用:prompt → onChunk 逐字回调 */ completeStream(prompt: string, onChunk: (text: string) => void, options?: LLMOptions): Promise; /** 获取当前 provider 信息 */ getInfo(): { provider: string; model: string; baseUrl: string; }; } /** 创建 LLM 客户端(如果配置了 API Key) */ export declare function createLLMClient(config: AgentConfig): LLMClient | null; //# sourceMappingURL=llm.d.ts.map