/** * 外挂多模态识图模块 * * 当路由目标模型不支持图片输入(input 不含 "image")时,拦截请求中的图片内容块, * 调用配置的识图模型(走代理自身路由)将图片转换为文字描述,再用 * XML 标签替换原图片块,使不支持多模态的模型也能"看懂"图片。 * * 支持三种入站协议的图片块格式: * - Anthropic: { type: 'image', source: { type: 'base64', media_type, data } | { type: 'url', url } } * - OpenAI Chat: { type: 'image_url', image_url: { url } | url } * - OpenAI Responses: { type: 'input_image', image_url: string | { url } } */ import type { ConfigStore } from '../config/store.js'; import type { Logger } from '../log/logger.js'; import type { RouterResult } from './types.js'; import type { InboundType } from './translation.js'; import { type VisionCache } from './vision-cache.js'; /** * 判断路由目标模型是否支持图片输入。 * 未配置 input 时,保守视为仅支持文本(需要外挂识图)。 */ export declare function modelSupportsImage(route: RouterResult): boolean; /** * 对入站请求执行外挂识图处理(原地修改 body)。 * * 触发条件: * 1. 配置了 vision * 2. 路由目标模型的 input 不含 "image" * 3. 请求消息中存在图片块 * * 处理流程: * - 扫描所有包含图片的 user 消息 * - 对每条消息,合并其中的图片为一次识图请求 * - 用 XML 标签替换原图片块 * * 返回值:是否执行了识图替换(用于日志记录)。 */ export declare function processVisionFallback(body: Record, inboundType: InboundType, route: RouterResult, store: ConfigStore, cache: VisionCache, logger?: Logger): Promise; //# sourceMappingURL=vision.d.ts.map