@huggingface/hub
Version:
Utilities to interact with the Hugging Face hub
90 lines • 3.42 kB
TypeScript
import type { CredentialsParams, RepoDesignation } from "../types/public";
import type { SetRequired } from "../vendor/type-fest/set-required";
export declare const SAFETENSORS_FILE = "model.safetensors";
export declare const SAFETENSORS_INDEX_FILE = "model.safetensors.index.json";
export declare const RE_SAFETENSORS_FILE: RegExp;
export declare const RE_SAFETENSORS_INDEX_FILE: RegExp;
export declare const RE_SAFETENSORS_SHARD_FILE: RegExp;
export interface SafetensorsShardFileInfo {
prefix: string;
basePrefix: string;
shard: string;
total: string;
}
export declare function parseSafetensorsShardFilename(filename: string): SafetensorsShardFileInfo | null;
type FileName = string;
export type TensorName = string;
export type Dtype = "F64" | "F32" | "F16" | "F8_E4M3" | "F8_E5M2" | "BF16" | "I64" | "I32" | "I16" | "I8" | "U16" | "U8" | "BOOL";
export interface TensorInfo {
dtype: Dtype;
shape: number[];
data_offsets: [number, number];
}
export type SafetensorsFileHeader = Record<TensorName, TensorInfo> & {
__metadata__: {
total_parameters?: string | number;
} & Record<string, string>;
};
export interface SafetensorsIndexJson {
dtype?: string;
metadata?: {
total_parameters?: string | number;
} & Record<string, string>;
weight_map: Record<TensorName, FileName>;
}
export type SafetensorsShardedHeaders = Record<FileName, SafetensorsFileHeader>;
export type SafetensorsParseFromRepo = {
sharded: false;
header: SafetensorsFileHeader;
parameterCount?: Partial<Record<Dtype, number>>;
parameterTotal?: number;
} | {
sharded: true;
index: SafetensorsIndexJson;
headers: SafetensorsShardedHeaders;
parameterCount?: Partial<Record<Dtype, number>>;
parameterTotal?: number;
};
/**
* Analyze model.safetensors.index.json or model.safetensors from a model hosted
* on Hugging Face using smart range requests to extract its metadata.
*/
export declare function parseSafetensorsMetadata(params: {
/** Only models are supported */
repo: RepoDesignation;
/**
* Relative file path to safetensors file inside `repo`. Defaults to `SAFETENSORS_FILE` or `SAFETENSORS_INDEX_FILE` (whichever one exists).
*/
path?: string;
/**
* Will include SafetensorsParseFromRepo["parameterCount"], an object containing the number of parameters for each DType
*
* @default false
*/
computeParametersCount: true;
hubUrl?: string;
revision?: string;
/**
* Custom fetch function to use instead of the default one, for example to use a proxy or edit headers.
*/
fetch?: typeof fetch;
} & Partial<CredentialsParams>): Promise<SetRequired<SafetensorsParseFromRepo, "parameterCount">>;
export declare function parseSafetensorsMetadata(params: {
/** Only models are supported */
repo: RepoDesignation;
path?: string;
/**
* Will include SafetensorsParseFromRepo["parameterCount"], an object containing the number of parameters for each DType
*
* @default false
*/
computeParametersCount?: boolean;
hubUrl?: string;
revision?: string;
/**
* Custom fetch function to use instead of the default one, for example to use a proxy or edit headers.
*/
fetch?: typeof fetch;
} & Partial<CredentialsParams>): Promise<SafetensorsParseFromRepo>;
export {};
//# sourceMappingURL=parse-safetensors-metadata.d.ts.map