import { Headers } from './Fetch/nodeFetch'; import { IAMConfig, QfLLMInfoMap, ReqBody, DefaultConfig } from './interface'; /** * 获取当前运行环境 * * @returns 如果运行在浏览器中,返回 'browser';如果运行在 Node.js 环境中,返回 'node';否则返回 'unknown' */ export declare function getCurrentEnvironment(): "browser" | "node" | "unknown"; /** * 获取访问令牌的URL地址 * * @param QIANFAN_AK 百度云AK * @param QIANFAN_SK 百度云SK * @returns 返回访问令牌的URL地址 */ export declare function getAccessTokenUrl(qianfanAk: string, qianfanSk: string, qianfanBaseUrl: string): string; export declare function getIAMConfig(ak: string, sk: string, baseUrl: string): IAMConfig; /** * 获取请求体 * * @param body 聊天体 * @param version 版本号 * @returns 返回JSON格式的字符串 */ export declare function getRequestBody(body: ReqBody, model: any, version: string): string; /** * 获取模型对应的API端点 * @param model 模型实例 * @param modelInfoMap 模型信息映射表 * @returns 返回模型对应的API端点 * @throws 当模型信息或API端点不存在时抛出异常 */ export declare function getModelEndpoint(model: string, modelInfoMap: QfLLMInfoMap): string; export declare const getPath: ({ model, modelInfoMap, Authentication, api_base, endpoint, type, }: { model?: string; modelInfoMap?: QfLLMInfoMap; Authentication: "IAM" | "AK"; api_base: string; endpoint?: string; type?: string; }) => string; export declare const castToError: (err: any) => Error; export declare function readEnvVariable(key: string): string; /** * 获取默认配置 * * @returns 返回一个字符串类型的键值对对象,包含环境变量 */ export declare function getDefaultConfig(): DefaultConfig; export declare function setEnvVariable(key: string, value: string): void; /** * 获取路径和请求体 * * @param model 模型 * @param modelInfoMap 模型信息映射 * @param body 请求体,可选 * @param endpoint 请求路径,可选 * @param type 请求类型,可选 * @returns 包含路径和请求体的对象 */ export declare function getPathAndBody({ model, modelInfoMap, baseUrl, body, endpoint, type, }: { model?: string; modelInfoMap?: QfLLMInfoMap; baseUrl: string; body?: ReqBody; endpoint?: string; type?: string; }): { AKPath: string; requestBody: string; }; /** * 计算重试延迟时间的函数。 * * @param attempt 当前重试尝试的次数。 * @param backoff_factor 回避因子,用于控制重试延迟的增长速率。 * @param retry_max_wait_interval 最大重试等待时间间隔,确保重试延迟不会超过此值。 * @returns 重试延迟时间(毫秒)。 */ export declare function calculateRetryDelay(attempt: number, backoff_factor?: number, retry_max_wait_interval?: number): number; /** * 检查是否满足打开TPM的条件。 * 条件包括:环境变量 `QIANFAN_TPM_LIMIT` 设定的限制值(如果存在)和header的 `val` 都必须大于0。 * @param {number} val - 用于检查的值,预期为正数。 * @returns {boolean} - 如果满足条件则返回true,否则返回false。 */ export declare function isOpenTpm(val: any): boolean; /** * 将对象的键名转换为大写形式 * * @param obj 需要转换键名的对象 * @returns 返回键名已转换为大写形式的新对象 */ export declare function convertKeysToUppercase(obj: any): {}; /** * 将给定的 model 字符串转换为大写,并将给定的 modelMap 中的键转换为大写形式 * * @param model 需要转换为大写的字符串 * @param modelMap 可选的 QfLLMInfoMap 类型对象,用于转换键为大写形式 * @returns 返回包含转换后大写 model 字符串和转换后大写键的 modelMap 对象的对象 */ export declare function getUpperCaseModelAndModelMap(model: string, modelMap?: QfLLMInfoMap): { modelInfoMapUppercase: QfLLMInfoMap; modelUppercase: string; modelLowercase?: undefined; } | { modelInfoMapUppercase: {}; modelUppercase: string; modelLowercase: string; }; /** * 将 Headers 对象解析为键值对形式的对象 * * @param headers Headers 对象 * @returns 返回键值对形式的对象 */ export declare function parseHeaders(headers: any): { [key: string]: string; }; interface Variables { [key: string]: any; } /** * 设置浏览器变量 * * @param variables 要设置的变量对象,其中每个属性名对应一个变量名,属性值对应变量的值 * @returns 无返回值 */ export declare function setBrowserVariable(variables: Variables): void; interface ConsoleActionParams { base_api_route: string; data?: Record; action?: string; } /** * consoleApi 开放入口 * * @param base_api_route 基础API路由,类型为字符串 * @param body 查询参数,类型为任意类型 * @param action 可选参数,方法名称,类型为字符串 * @returns 返回任意类型 */ export declare function consoleAction({ base_api_route, data, action }: ConsoleActionParams): Promise; interface GetTokenProps { expireInSeconds?: number; ak?: string; sk?: string; bce_token?: string; } interface TokenResp { headers?: Headers; userId?: string; status?: string; createTime?: string; token: string; expireTime: string; } export declare const getBearToken: (props?: GetTokenProps) => Promise; export {};