Huggingface.js documentation
@huggingface/hub
@huggingface/hub
Классы
- HubApiError
- InvalidApiResponseFormatError
- JsonStreamParseError
- SafetensorParseError
- __internal_XetBlob
Интерфейсы
- AuthInfo
- CachedFileInfo
- CachedRepoInfo
- CachedRevisionInfo
- CommitCopyFile
- CommitData
- CommitDeletedEntry
- CommitEditFile
- CommitEditFileParams
- CommitFile
- CommitInfo
- CommitOutput
- CopyDestination
- CopyFilesEntry
- CopyProgressEvent
- CopySource
- Учётные данные
- DatasetEntry
- FileDownloadInfoOutput
- HFCacheInfo
- JobVolume
- LfsPathInfo
- ListFileEntry
- MlxQuantizationConfig
- ModelConfig
- ModelDerivedFields
- ModelEntry
- OAuthResult
- ParallelDownloadOptions
- PathInfo
- QuantizationConfig
- RangeEditCacheEntry
- RepoId
- SafetensorsIndexJson
- SafetensorsShardFileInfo
- SecurityFileStatus
- SpaceEntry
- SpaceResourceConfig
- SpaceResourceRequirement
- SpaceRuntime
- TensorInfo
- UserInfo
- WhoAmIApp
- WhoAmIOrg
- WhoAmIUser
- XetFileInfo
- XetReadToken
Псевдонимы типов
AccessToken
Ƭ AccessToken: string
На самом деле hf_${string}, но для удобства используется строковый тип
Определено в
packages/hub/src/types/public.ts:28
AccessTokenRole
Ƭ AccessTokenRole: "admin" | "write" | "contributor" | "read"
Определено в
packages/hub/src/types/public.ts:98
AuthType
Ƭ AuthType: "access_token" | "app_token" | "app_token_as_user"
Определено в
packages/hub/src/types/public.ts:100
CommitOperation
Ƭ CommitOperation: CommitDeletedEntry | CommitFile | CommitEditFile | CommitCopyFile
Определено в
packages/hub/src/lib/commit.ts:124
CommitParams
Ƭ CommitParams: { abortSignal?: AbortSignal ; branch?: string ; description?: string ; fetch?: typeof __type ; hubUrl?: string ; isPullRequest?: boolean ; maxFolderDepth?: number ; operations: CommitOperation[] ; parentCommit?: string ; rangeEditCache?: RangeEditCache ; repo: RepoDesignation ; title: string ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } ; useXet?: boolean } & Partial<CredentialsParams>
Определено в
packages/hub/src/lib/commit.ts:131
CommitProgressEvent
Ƭ CommitProgressEvent: { event: "phase" ; phase: "preuploading" | "uploadingLargeFiles" | "committing" } | { event: "fileProgress" ; path: string ; progress: number ; state: "hashing" | "uploading" | "error" }
Определено в
packages/hub/src/lib/commit.ts:201
ContentSource
Ƭ ContentSource: Blob | URL
Определено в
packages/hub/src/lib/commit.ts:45
Dtype
Ƭ Тип данных: "F64" | "F32" | "C64" | "F16" | "F8_E4M3" | "F8_E4M3FNUZ" | "F8_E5M2" | "F8_E5M2FNUZ" | "F8_E8M0" | "E8M0" | "F6_E3M2" | "F6_E2M3" | "F4" | "FP4" | "BF16" | "I64" | "U64" | "I32" | "U32" | "I16" | "I8" | "U16" | "U8" | "UE8" | "BOOL"
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:291
JsonStreamEvent
Ƭ JsonStreamEvent: { type: "startObject" } | { type: "endObject" } | { type: "startArray" } | { type: "endArray" } | { key: string ; type: "key" } | { type: "value" ; value: string | number | boolean | null }
Минималистичный, не зависящий от внешних библиотек, инкрементальный (в стиле SAX) парсер JSON.
JSON.parse требует, чтобы весь документ находился в памяти дважды (исходная строка + результирующее дерево объектов), что делает его непригодным для документов, которые по размеру велики, но чьё интересное содержимое ничтожно мало — например, model.safetensors.index.json большой MoE-модели, где 60 МБ weight_map существуют лишь для того, чтобы сообщить нам о ~100 различных именах файлов-шардов.
Этот парсер, в свою очередь, формирует плоский поток событий по мере поступления байтов, поэтому потребитель может удерживать только то, что ему действительно нужно, а всё остальное будет освобождено сборщиком мусора. Потребление памяти ограничено размером самого крупного отдельного токена (строки / числа), а не размером документа.
Реализация представляет собой возобновляемую конечную автомата: любой токен может быть разделён на границах чанков (в том числе многобайтовые последовательности UTF-8 и экранированные последовательности \uXXXX).
Строгость: принимаемая грамматика — RFC 8259 (та же, что у JSON.parse), за вычетом нескольких проверок, которые здесь стоили бы дорого при малой пользе. В частности, формы чисел проверяются через Number(), а не конечным автоматом, поэтому принимается несколько входных данных, которые отклоняет JSON.parse.
Всё, что принимает JSON.parse, принимается с идентичными значениями.
Example
for await (const event of streamJson(blob.stream())) {
if (event.type === "key") { ... }
}Определено в
packages/hub/src/utils/streamJson.ts:27
ModelAdditionalField
Ƭ ModelAdditionalField: Exclude<typeof MODEL_EXPANDABLE_KEYS[number], typeof MODEL_EXPAND_KEYS[number]> | keyof ModelDerivedFields
Определено в
packages/hub/src/lib/list-models.ts:51
PipelineType
Ƭ PipelineType: keyof typeof PIPELINE_DATA
Определено в
packages/tasks/dist/commonjs/pipelines.d.ts:380
RangeEditCache
Ƭ RangeEditCache: Map<string, RangeEditCacheEntry>
Состояние файла в памяти, ранее записанного через путь range-edit, с ключом — его xet-хэшем. Позволяет последующему append (или редактированию последнего термина файла) полностью пропустить вызовы API для реконструкции и file-chunk-hashes: частичное состояние меркля и хэши верификации уже известны.
Передавайте один и тот же экземпляр RangeEditCache в последовательные вызовы commit, добавляющие данные в один и тот же файл, чтобы избежать обращения к API метаданных CAS при каждом добавлении.
Определено в
packages/hub/src/utils/rangeEdit.ts:16
RepoDesignation
Ƭ RepoDesignation: RepoId | RepoFullName
Определено в
packages/hub/src/types/public.ts:17
RepoFullName
Ƭ RepoFullName: string | `spaces/${string}` | `datasets/${string}` | `buckets/${string}` | `kernels/${string}`
Определено в
packages/hub/src/types/public.ts:10
RepoType
Ƭ RepoType: "space" | "dataset" | "model" | "bucket" | "kernel"
Определено в
packages/hub/src/types/public.ts:3
ResolveModelAdditionalFields
Ƭ ResolveModelAdditionalFields<T>: Pick<ApiModelInfo, T & keyof ApiModelInfo> & Pick<ModelDerivedFields, T & keyof ModelDerivedFields>
Параметры типа
| Имя | Тип |
|---|---|
T | наследует ModelAdditionalField |
Определено в
packages/hub/src/lib/list-models.ts:55
SafetensorsFileHeader
Ƭ SafetensorsFileHeader: Record<TensorName, TensorInfo> & { __metadata__?: { total_parameters?: string | number } & Record<string, string> }
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:324
SafetensorsParseFromRepo
Ƭ SafetensorsParseFromRepo: { filepaths: string[] ; header: SafetensorsFileHeader ; parameterCount?: Partial<Record<Dtype, number>> ; parameterTotal?: number ; sharded: false } | { filepaths: string[] ; headers: SafetensorsShardedHeaders ; index: SafetensorsIndexJson ; parameterCount?: Partial<Record<Dtype, number>> ; parameterTotal?: number ; sharded: true }
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:348
SafetensorsShardedHeaders
Ƭ SafetensorsShardedHeaders: Record<FileName, SafetensorsFileHeader>
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:346
SpaceHardwareFlavor
Ƭ SpaceHardwareFlavor: "cpu-basic" | "cpu-upgrade" | "cpu-performance" | "cpu-xl" | "sprx8" | "zero-a10g" | "inf2x6" | "t4-small" | "t4-medium" | "l4x1" | "l4x4" | "l40sx1" | "l40sx4" | "l40sx8" | "a10g-small" | "a10g-large" | "a10g-largex2" | "a10g-largex4" | "a100-large" | "a100x4" | "a100x8" | "h200" | "h200x2" | "h200x4" | "h200x8" | "rtx-pro-6000" | "rtx-pro-6000x2" | "rtx-pro-6000x4" | "rtx-pro-6000x8"
Определено в
packages/hub/src/types/public.ts:53
SpaceSdk
Ƭ SpaceSdk: "streamlit" | "gradio" | "docker" | "static"
Определено в
packages/hub/src/types/public.ts:84
SpaceStage
Ƭ SpaceStage: "NO_APP_FILE" | "CONFIG_ERROR" | "BUILDING" | "BUILD_ERROR" | "RUNNING" | "RUNNING_BUILDING" | "RUNTIME_ERROR" | "DELETING" | "PAUSED" | "SLEEPING"
Определено в
packages/hub/src/types/public.ts:86
TensorName
Ƭ TensorName: string
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:290
WhoAmI
Ƭ WhoAmI: WhoAmIApp | WhoAmIOrg | WhoAmIUser
Определено в
packages/hub/src/lib/who-am-i.ts:52
Переменные
DATASET _ EXPANDABLE _ KEYS
• Const DATASET_EXPANDABLE_KEYS: только для чтения ["author", "cardData", "citation", "createdAt", "disabled", "description", "downloads", "downloadsAllTime", "gated", "gitalyUid", "lastModified", "likes", "paperswithcode_id", "private", "sha", "tags"]
Определено в
packages/hub/src/lib/list-datasets.ts:18
DATASET _ EXPAND _ KEYS
• Const DATASET_EXPAND_KEYS: только для чтения ["private", "downloads", "gated", "likes", "lastModified"]
Определено в
packages/hub/src/lib/list-datasets.ts:10
DEFAULT _ REVISION
• Const DEFAULT_REVISION: "main"
Определено в
packages/hub/src/lib/snapshot-download.ts:13
DIFFUSERS _ SAFETENSORS _ ФАЙЛ
• Const DIFFUSERS_SAFETENSORS_FILE: "diffusion_pytorch_model.safetensors"
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:21
DIFFUSERS _ SAFETENSORS _ ИНДЕКС _ ФАЙЛ
• Const DIFFUSERS_SAFETENSORS_INDEX_FILE: "diffusion_pytorch_model.safetensors.index.json"
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:22
DIFFUSERS _ WEIGHTS _ SUBFOLDERS
• Const DIFFUSERS_WEIGHTS_SUBFOLDERS: только для чтения ["transformer", "unet"]
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:23
HUB _ URL
• Const HUB_URL: "https://huggingface.co"
Базовый URL Hugging Face Hub.
Определено в
MODEL _ DERIVED _ FIELD _ TO _ API _ KEY
• Const MODEL_DERIVED_FIELD_TO_API_KEY: Record<keyof ModelDerivedFields, keyof ApiModelInfo>
Определено в
packages/hub/src/lib/list-models.ts:47
MODEL _ EXPANDABLE _ KEYS
• Const MODEL_EXPANDABLE_KEYS: readonly ["author", "cardData", "config", "createdAt", "disabled", "downloads", "downloadsAllTime", "gated", "gitalyUid", "inferenceProviderMapping", "lastModified", "library_name", "likes", "model-index", "pipeline_tag", "private", "safetensors", "sha", "spaces", "tags", "transformersInfo"]
Определено в
packages/hub/src/lib/list-models.ts:19
MODEL _ EXPAND _ KEYS
• Const MODEL_EXPAND_KEYS: только для чтения ["pipeline_tag", "private", "gated", "downloads", "likes", "lastModified"]
Определено в
packages/hub/src/lib/list-models.ts:10
REGEX _ COMMIT _ HASH
• Const REGEX_COMMIT_HASH: RegExp
Определено в
packages/hub/src/lib/download-file-to-cache-dir.ts:16
REPO _ ID _ SEPARATOR
• Const REPO_ID_SEPARATOR: string = "--"
Определено в
packages/hub/src/lib/cache-management.ts:25
RE _ SAFETENSORS _ FILE
• Const RE_SAFETENSORS_FILE: RegExp
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:26
RE _ SAFETENSORS _ INDEX _ FILE
• Const RE_SAFETENSORS_INDEX_FILE: RegExp
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:27
RE _ SAFETENSORS _ SHARD _ FILE
• Const RE_SAFETENSORS_SHARD_FILE: RegExp
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:28
SAFETENSORS _ ФАЙЛ
• Const SAFETENSORS_FILE: "model.safetensors"
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:17
SAFETENSORS _ INDEX _ FILE
• Const SAFETENSORS_INDEX_FILE: "model.safetensors.index.json"
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:18
SPACE _ EXPANDABLE _ KEYS
• Const SPACE_EXPANDABLE_KEYS: только для чтения ["author", "cardData", "datasets", "disabled", "gitalyUid", "lastModified", "createdAt", "likes", "private", "runtime", "sdk", "sha", "subdomain", "tags", "models"]
Определено в
packages/hub/src/lib/list-spaces.ts:16
SPACE _ EXPAND _ KEYS
• Const SPACE_EXPAND_KEYS: только для чтения ["sdk", "likes", "private", "lastModified"]
Определено в
packages/hub/src/lib/list-spaces.ts:10
Функции
_ _ internal _ sha256
▸ __internal_sha256(buffer, opts?): AsyncGenerator<number, string>
Параметры
| Имя | Тип |
|---|---|
buffer | Blob |
opts? | Object |
opts.abortSignal? | AbortSignal |
opts.useWebWorker? | boolean | { minSize?: number ; poolSize?: number } |
Возвращает
AsyncGenerator<number, string>
hex-кодированный sha
Yields
прогресс (0–1)
Определено в
packages/hub/src/utils/sha256.ts:72
assertSafeShardFilename
▸ assertSafeShardFilename(filename): void
Имена файлов в weight_map берутся из файла репозитория, поэтому они контролируются злоумышленником: они должны оставаться относительными путями внутри собственного каталога индекса.
Буквальной проверки includes("..") недостаточно, поскольку URL, в котором в итоге оказывается имя файла, парсится парсером WHATWG URL после этой проверки, а данный парсер выполняет percent-декодирование сегментов с точками: %2e%2e (или .%2e, %2E%2E, …) для него является сегментом .., что позволяет выйти за пределы репозитория — а при наличии учётных данных запрос оказывается авторизованным на URL resolve другого репозитория.
Сначала декодируйте, а затем валидируйте (повторяя процесс, чтобы обнаружить %252e%252e), и отклоняйте всё, что не является простым относительным путём.
Параметры
| Имя | Тип |
|---|---|
filename | string |
Возвращает
void
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:511
cancelJob
▸ cancelJob(params): Promise<ApiJob>
Отмена задания.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiJob>
Определено в
packages/hub/src/lib/jobs/cancel-job.ts:11
checkRepoAccess
▸ checkRepoAccess(params): Promise<void>
Проверьте, есть ли у нас доступ на чтение к репозиторию.
Бросьте ошибку HubApiError, если нет доступа. Значение HubApiError.statusCode будет 401, 403 или 404.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation } & Partial<CredentialsParams> |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/check-repo-access.ts:14
commit
▸ commit(params): Promise<CommitOutput | undefined>
Параметры
| Имя | Тип |
|---|---|
params | CommitParams |
Возвращает
Promise<CommitOutput | undefined>
undefined для загрузок в бакет, CommitOutput в остальных случаях
Определено в
packages/hub/src/lib/commit.ts:1032
commitIter
▸ commitIter(params): AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
Временная внутренняя функция, используемая в commit.
Может быть открыт позже для предоставления детальной информации о ходе выполнения
CommitOutput отсутствует для коммитов в бакеты
Параметры
| Имя | Тип |
|---|---|
params | CommitParams |
Возвращает
AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
Определено в
packages/hub/src/lib/commit.ts:220
commitIterBucket
▸ commitIterBucket(params): AsyncGenerator<CommitProgressEvent>
Параметры
| Имя | Тип |
|---|---|
params | CommitParams |
Возвращает
AsyncGenerator<CommitProgressEvent>
Определено в
packages/hub/src/lib/commit.ts:776
computeNumOfParamsByDtypeSingleFile
▸ computeNumOfParamsByDtypeSingleFile(header, quantConfig?, expertDtype?): Partial<Record<Dtype, number>>
Суммирует параметры по каждому типу данных для заголовка одного файла, применяя коэффициенты упаковки квантования и пропуская служебные тензоры.
Параметры
| Имя | Тип |
|---|---|
header | SafetensorsFileHeader |
quantConfig? | QuantizationConfig |
expertDtype? | string |
Возвращает
Partial<Record<Dtype, number>>
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:1379
copyFile
▸ copyFile(params): Promise<undefined>
Скопируйте один файл из исходного репозитория/бакета в целевой бакет.
Копирование выполняется на стороне сервера (без передачи данных), если исходный файл поддерживается xet.
Для небольших файлов репозитория, не поддерживаемых xet (например, config.json), файл скачивается и
повторно загружается в целевое хранилище в рамках того же коммита.
Файлы-указатели LFS, которые не были перенесены на xet, отклоняются заранее (в противном случае потребовалось бы загрузить полный объект LFS).
Параметры
| Имя | Тип |
|---|---|
params | { destination: CopyDestination ; source: CopySource } & SharedParams |
Возвращает
Promise<undefined>
Example
await copyFile({
source: {
repo: { type: "model", name: "username/my-model" },
path: "model.safetensors",
},
destination: {
repo: { type: "bucket", name: "username/my-bucket" },
path: "models/my-model/model.safetensors",
},
accessToken: "hf_...",
});Определено в
packages/hub/src/lib/copy-files.ts:111
copyFileIter
▸ copyFileIter(params): AsyncGenerator<CopyProgressEvent, undefined>
Асинхронная итераторная версия copyFile, которая возвращает события CopyProgressEvent во время загрузки исходных файлов, не использующих xet (файлы на базе xet копируются на стороне сервера и не генерируют события). См. copyFile для описания семантики.
Параметры
| Имя | Тип |
|---|---|
params | { destination: CopyDestination ; source: CopySource } & SharedParams |
Возвращает
AsyncGenerator<CopyProgressEvent, undefined>
Example
for await (const event of copyFileIter({ source, destination, accessToken })) {
console.log(`downloaded ${event.path} (${event.downloaded}/${event.total})`);
}Определено в
packages/hub/src/lib/copy-files.ts:144
copyFiles
▸ copyFiles(params): Promise<undefined>
Копирование нескольких файлов (возможно, из разных исходных репозиториев/бакетов) в целевой бакет в рамках одного коммита.
Для исходных файлов, поддерживаемых xet, копирование выполняется на стороне сервера без передачи данных. Для исходных файлов, не поддерживаемых xet (как правило, это небольшие файлы репозитория, хранящиеся в git), файл скачивается и повторно загружается в рамках того же коммита.
Файлы-указатели LFS, которые не были перенесены в xet, отклоняются на начальном этапе.
Параметры
| Имя | Тип |
|---|---|
params | { destination: BucketDesignation ; files: CopyFilesEntry[] } & SharedParams |
Возвращает
Promise<undefined>
Example
await copyFiles({
destination: { type: "bucket", name: "username/my-bucket" },
files: [
{
source: {
repo: { type: "bucket", name: "username/other-bucket" },
path: "data.bin",
},
destinationPath: "data.bin",
},
{
source: {
repo: { type: "model", name: "username/my-model" },
path: "model.safetensors",
},
destinationPath: "models/my-model/model.safetensors",
},
],
accessToken: "hf_...",
});Определено в
packages/hub/src/lib/copy-files.ts:199
copyFilesIter
▸ copyFilesIter(params): AsyncGenerator<CopyProgressEvent, undefined>
Асинхронная итераторная версия copyFiles, которая возвращает события CopyProgressEvent во время загрузки исходных файлов, не использующих xet (файлы на базе xet копируются на стороне сервера и не генерируют события). См. copyFiles для описания семантики.
Параметры
| Имя | Тип |
|---|---|
params | { destination: BucketDesignation ; files: CopyFilesEntry[] } & SharedParams |
Возвращает
AsyncGenerator<CopyProgressEvent, undefined>
Определено в
packages/hub/src/lib/copy-files.ts:219
copyFolder
▸ copyFolder(params): Promise<undefined>
Скопировать папку (рекурсивно) из исходного репозитория/бакета в целевой бакет в одном коммите.
Пути для отдельных файлов разрешаются относительно CopySource.path; исходная папка сама по себе не сохраняется в пункте назначения, если CopyDestination.path не сохраняет её.
Параметры
| Имя | Тип |
|---|---|
params | { destination: Omit<CopyDestination, "path"> & { path?: string } ; source: Omit<CopySource, "path"> & { path?: string } } & SharedParams |
Возвращает
Promise<undefined>
Example
// Copy an entire dataset under "datasets/my-dataset/" in the bucket
await copyFolder({
source: { repo: { type: "dataset", name: "username/my-dataset" } },
destination: {
repo: { type: "bucket", name: "username/my-bucket" },
path: "datasets/my-dataset/",
},
accessToken: "hf_...",
});
// Copy a subfolder
await copyFolder({
source: {
repo: { type: "bucket", name: "username/src-bucket" },
path: "models/",
},
destination: {
repo: { type: "bucket", name: "username/dst-bucket" },
path: "backup/",
},
accessToken: "hf_...",
});Определено в
packages/hub/src/lib/copy-files.ts:277
copyFolderIter
▸ copyFolderIter(params): AsyncGenerator<CopyProgressEvent, undefined>
Асинхронная итераторная версия copyFolder, которая возвращает события CopyProgressEvent во время загрузки исходных файлов, не использующих xet (файлы на базе xet копируются на стороне сервера и не генерируют событий). См. copyFolder для описания семантики.
Параметры
| Имя | Тип |
|---|---|
params | { destination: Omit<CopyDestination, "path"> & { path?: string } ; source: Omit<CopySource, "path"> & { path?: string } } & SharedParams |
Возвращает
AsyncGenerator<CopyProgressEvent, undefined>
Определено в
packages/hub/src/lib/copy-files.ts:297
countCommits
▸ countCommits(params): Promise<number>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<number>
Определено в
packages/hub/src/lib/count-commits.ts:8
createBranch
▸ createBranch(params): Promise<void>
Параметры
| Имя | Тип | Описание |
|---|---|---|
params | Object | - |
params.accessToken? | string | - |
params.branch | string | Имя ветки для создания |
params.empty? | boolean | Используйте это для создания пустой ветки без коммитов. |
params.fetch? | (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> | Справочник MDN |
params.hubUrl? | string | - |
params.overwrite? | boolean | Используйте этот параметр для перезаписи ветки, если она уже существует. Если вы укажете только overwrite без revision/empty, а ветка уже существует, операция будет проигнорирована. |
params.repo | RepoDesignation | - |
params.revision? | string | Ревизия, от которой будет создана ветка. По умолчанию используется ветка по умолчанию. Используйте empty: true, чтобы создать пустую ветку. |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/create-branch.ts:7
createCollection
▸ createCollection(params): Promise<{ slug: string }>
Параметры
| Имя | Тип |
|---|---|
params | { collection: ApiCreateCollectionPayload ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string } & Partial<CredentialsParams> |
Возвращает
Promise<{ slug: string }>
Определено в
packages/hub/src/lib/create-collection.ts:8
createRepo
▸ createRepo(params): Promise<{ id: string ; repoUrl: string }>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; files?: { content: ArrayBuffer | Blob ; path: string }[] ; hardware?: SpaceHardwareFlavor | undefined ; hubUrl?: string ; license?: string ; private?: boolean ; repo: RepoDesignation ; resourceGroupId?: string ; sdk?: SpaceSdk | undefined ; visibility?: "public" | "private" | "protected" } & CredentialsParams |
Возвращает
Promise<{ id: string ; repoUrl: string }>
Определено в
packages/hub/src/lib/create-repo.ts:10
createScheduledJob
▸ createScheduledJob(params): Promise<ApiScheduledJob>
Создайте запланированную задачу.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CreateScheduledJobOptions & CredentialsParams |
Возвращает
Promise<ApiScheduledJob>
Определено в
packages/hub/src/lib/jobs/create-scheduled-job.ts:12
datasetInfo
▸ datasetInfo<T>(params): Promise<DatasetEntry & Pick<ApiDatasetInfo, T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "paperswithcode_id" | "sha" | "citation" | "description" | "downloadsAllTime" = never |
Параметры
| Имя | Тип |
|---|---|
params | { additionalFields?: T[] ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<DatasetEntry & Pick<ApiDatasetInfo, T>>
Определено в
packages/hub/src/lib/dataset-info.ts:10
deleteBranch
▸ deleteBranch(params): Promise<void>
Параметры
| Имя | Тип | Описание |
|---|---|---|
params | Object | - |
params.accessToken? | string | - |
params.branch | string | Имя ветки, которую нужно удалить |
params.fetch? | (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> | Справочник MDN |
params.hubUrl? | string | - |
params.repo | RepoDesignation | - |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/delete-branch.ts:7
deleteCollection
▸ deleteCollection(params): Promise<void>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; slug: string } & Partial<CredentialsParams> |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/delete-collection.ts:7
deleteFile
▸ deleteFile(params): Promise<CommitOutput | undefined>
Параметры
| Имя | Тип |
|---|---|
params | { branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; path: string ; repo: RepoDesignation } & CredentialsParams |
Возвращает
Promise<CommitOutput | undefined>
Определено в
packages/hub/src/lib/delete-file.ts:5
deleteFiles
▸ deleteFiles(params): Promise<CommitOutput | undefined>
Параметры
| Имя | Тип |
|---|---|
params | { branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; paths: string[] ; repo: RepoDesignation } & CredentialsParams |
Возвращает
Promise<CommitOutput | undefined>
Определено в
packages/hub/src/lib/delete-files.ts:5
deleteRepo
▸ deleteRepo(params): Promise<void>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation } & CredentialsParams |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/delete-repo.ts:8
deleteScheduledJob
▸ deleteScheduledJob(params): Promise<void>
Удалить запланированную задачу.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/jobs/delete-scheduled-job.ts:10
downloadFile
▸ downloadFile(params): Promise<Blob | null>
Параметры
| Имя | Тип |
|---|---|
params | { downloadInfo?: FileDownloadInfoOutput ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; parallelDownloads?: boolean | ParallelDownloadOptions ; path: string ; raw?: boolean ; repo: RepoDesignation ; revision?: string ; xet?: boolean | { readToken: XetReadToken } } & Partial<CredentialsParams> |
Возвращает
Promise<Blob | null>
null, если файл не существует
Определено в
packages/hub/src/lib/download-file.ts:13
downloadFileToCacheDir
▸ downloadFileToCacheDir(params): Promise<string>
Загрузите указанный файл, если он ещё отсутствует в локальном кэше.
Параметры
| Имя | Тип |
|---|---|
params | { cacheDir?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; path: string ; raw?: boolean ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<string>
символическая ссылка на объект blob
Определено в
packages/hub/src/lib/download-file-to-cache-dir.ts:46
duplicateJob
▸ duplicateJob(params): Promise<ApiJob>
Дублировать задание (повторный запуск с той же спецификацией).
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiJob>
Определено в
packages/hub/src/lib/jobs/duplicate-job.ts:11
encodeShardFilename
▸ encodeShardFilename(filename): string
Защита в глубину: URL для загрузки формируется с помощью интерполяции строк, поэтому кодируйте каждый сегмент пути в (уже проверенном) имени файла, а не полагайтесь на то, что оно безопасно для URL.
Параметры
| Имя | Тип |
|---|---|
filename | string |
Возвращает
string
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:570
fileDownloadInfo
▸ fileDownloadInfo(params): Promise<FileDownloadInfoOutput | null>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; noContentDisposition?: boolean ; path: string ; raw?: boolean ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<FileDownloadInfoOutput | null>
null, если файл не существует
Определено в
packages/hub/src/lib/file-download-info.ts:28
fileExists
▸ fileExists(params): Promise<boolean>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; path: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<boolean>
Определено в
packages/hub/src/lib/file-exists.ts:8
getBlobStat
▸ getBlobStat(blobPath, blobStats): Promise<Stats>
Параметры
| Имя | Тип |
|---|---|
blobPath | string |
blobStats | Map<string, Stats> |
Возвращает
Promise<Stats>
Определено в
packages/hub/src/lib/cache-management.ts:254
getHFHubCachePath
▸ getHFHubCachePath(): string
Возвращает
string
Определено в
packages/hub/src/lib/cache-management.ts:19
getJob
▸ getJob(params): Promise<ApiJob>
Получить конкретную задачу по ID.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiJob>
Определено в
packages/hub/src/lib/jobs/get-job.ts:11
getQuantizationMultiplier
▸ getQuantizationMultiplier(tensorName, dtype, quantConfig?, expertDtype?, mlxQuantizedModules?): number
Получает множитель параметров для квантованного тензора на основе метода квантования.
Может быть дробным — см. packingFactor.
Параметры
| Имя | Тип |
|---|---|
tensorName | string |
dtype | Dtype |
quantConfig? | QuantizationConfig |
expertDtype? | string |
mlxQuantizedModules? | ReadonlySet<string> |
Возвращает
number
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:1259
getRepoFolderName
▸ getRepoFolderName(«destructured»): string
Параметры
| Имя | Тип |
|---|---|
«destructured» | RepoId |
Возвращает
string
Определено в
packages/hub/src/lib/cache-management.ts:27
getScheduledJob
▸ getScheduledJob(params): Promise<ApiScheduledJob>
Получить конкретную запланированную задачу по ID.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiScheduledJob>
Определено в
packages/hub/src/lib/jobs/get-scheduled-job.ts:11
globMatch
▸ globMatch(pattern, str): boolean
Сопоставление глобальных шаблонов без RegExp: разбивает шаблон по * и проверяет, что каждый литеральный сегмент встречается в str в заданном порядке. Полностью исключает использование RegExp (нет риска ReDoS, нет SyntaxError из-за шаблонов, контролируемых злоумышленником, в config.json).
Параметры
| Имя | Тип |
|---|---|
pattern | string |
str | string |
Возвращает
boolean
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:1153
isQuantizedTensor
▸ isQuantizedTensor(tensorName, quantConfig?, mlxQuantizedModules?): boolean
Определяет, является ли тензор квантованным, на основе конфигурации квантования и имени тензора.
Python-библиотека transformers использует простое сопоставление подстрок для modules_to_not_convert,
поэтому имена без префиксов, например "lm_head", должны совпадать с "model.lm_head.weight". Если
шаблон содержит *, мы переходим к полноценному glob-сопоставлению для большей гибкости.
Параметры
| Имя | Тип |
|---|---|
tensorName | string |
quantConfig? | QuantizationConfig |
mlxQuantizedModules? | ReadonlySet<string> |
Возвращает
boolean
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:1189
listCollections
▸ listCollections(params?): AsyncGenerator<ApiCollectionInfo>
Параметры
| Имя | Тип |
|---|---|
params? | { search?: { owner?: string[] | undefined; item?: string[] | undefined; q?: string | undefined; } | undefined; sort?: “lastModified” | “trending” | “upvotes” | undefined; limit?: number | undefined; hubUrl?: string | undefined; fetch?: { …; } | undefined; } & Partial<…> |
Возвращает
AsyncGenerator<ApiCollectionInfo>
Определено в
packages/hub/src/lib/list-collections.ts:13
listCommits
▸ listCommits(params): AsyncGenerator<CommitData>
Параметры
| Имя | Тип |
|---|---|
params | { batchSize?: number ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
AsyncGenerator<CommitData>
Определено в
packages/hub/src/lib/list-commits.ts:18
listDatasets
▸ listDatasets<T>(params?): AsyncGenerator<DatasetEntry & Pick<ApiDatasetInfo, T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "paperswithcode_id" | "sha" | "citation" | "description" | "downloadsAllTime" = never |
Параметры
| Имя | Тип |
|---|---|
params? | { search?: { query?: string | undefined; owner?: string | undefined; tags?: string[] | undefined; } | undefined; hubUrl?: string | undefined; additionalFields?: T[] | undefined; limit?: number | undefined; sort?: “id” | … 8 more … | undefined; fetch?: { …; } | undefined; } & Partial<…> |
Возвращает
AsyncGenerator<DatasetEntry & Pick<ApiDatasetInfo, T>>
Определено в
packages/hub/src/lib/list-datasets.ts:48
listFiles
▸ listFiles(params): AsyncGenerator<ListFileEntry>
Получить список файлов в папке. Чтобы получить список ВСЕХ файлов в каталоге, вызовите его с параметром params.recursive, установленным в true.
Параметры
| Имя | Тип |
|---|---|
params | { expand?: boolean ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; path?: string ; recursive?: boolean ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
AsyncGenerator<ListFileEntry>
Определено в
packages/hub/src/lib/list-files.ts:54
listJobHardware
▸ listJobHardware(params?): Promise<ApiJobHardware[]>
Получите список доступного оборудования для задач. Этот эндпоинт является публичным и не требует аутентификации, но аутентификация является необязательной.
Параметры
| Имя | Тип |
|---|---|
params? | { hubUrl?: string | undefined; fetch?: { (input: RequestInfo | URL, init?: RequestInit | undefined): Promise<Response>; (input: string | … 1 more … | URL, init?: RequestInit | undefined): Promise<…>; } | undefined; } & Partial<…> |
Возвращает
Promise<ApiJobHardware[]>
Определено в
packages/hub/src/lib/jobs/list-job-hardware.ts:12
listJobs
▸ listJobs(params): Promise<ApiJob[]>
Список задач для пространства имён (пользователь или организация).
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiJob[]>
Определено в
packages/hub/src/lib/jobs/list-jobs.ts:11
listModels
▸ listModels<T>(params?): AsyncGenerator<ModelEntry & ResolveModelAdditionalFields<T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends ModelAdditionalField = never |
Параметры
| Имя | Тип |
|---|---|
params? | { search?: { query?: string | undefined; owner?: string | undefined; task?: “other” | “text-classification” | “token-classification” | “table-question-answering” | “question-answering” | … 52 more … | undefined; tags?: string[] | undefined; inferenceProviders?: string[] | undefined; apps?: string[] | undefined; … |
Возвращает
AsyncGenerator<ModelEntry & ResolveModelAdditionalFields<T>>
Определено в
packages/hub/src/lib/list-models.ts:69
listScheduledJobs
▸ listScheduledJobs(params): Promise<ApiScheduledJob[]>
Получить список запланированных заданий для пространства имён.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiScheduledJob[]>
Определено в
packages/hub/src/lib/jobs/list-scheduled-jobs.ts:11
listSpaces
▸ listSpaces<T>(params?): AsyncGenerator<SpaceEntry & Pick<ApiSpaceInfo, T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends "models" | "datasets" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "sha" | "subdomain" | "runtime" = never |
Параметры
| Имя | Тип |
|---|---|
params? | { search?: { query?: string | undefined; owner?: string | undefined; tags?: string[] | undefined; } | undefined; hubUrl?: string | undefined; fetch?: { (input: RequestInfo | URL, init?: RequestInit | undefined): Promise<…>; (input: string | … 1 more … | URL, init?: RequestInit | undefined): Promise<…>; } | u… |
Возвращает
AsyncGenerator<SpaceEntry & Pick<ApiSpaceInfo, T>>
Определено в
packages/hub/src/lib/list-spaces.ts:45
matchesCompressedTensorsTarget
▸ matchesCompressedTensorsTarget(target, moduleName): boolean
Сопоставляет имя модуля с целевым объектом compressed-tensors.
Targets представляют собой либо точные имена модулей, либо имена классов (например, "Linear", которые мы не можем разрешить по именам тензоров и поэтому игнорируем), либо регулярные выражения Python с префиксом re:. Чтобы избежать оценки RegExp, контролируемых злоумышленником, из config.json (ReDoS, SyntaxError — см. globMatch), мы переводим распространённое подмножество регулярных выражений (.* — подстановочный символ, ^/$ — якоря, \. — экранирование) в globMatch и считаем несовпадающими те targets, которые используют любой другой синтаксис регулярных выражений.
Параметры
| Имя | Тип |
|---|---|
target | string |
moduleName | string |
Возвращает
boolean
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:1231
modelInfo
▸ modelInfo<T>(params): Promise<ModelEntry & ResolveModelAdditionalFields<T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends ModelAdditionalField = never |
Параметры
| Имя | Тип |
|---|---|
params | { additionalFields?: T[] ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<ModelEntry & ResolveModelAdditionalFields<T>>
Определено в
packages/hub/src/lib/model-info.ts:17
oauthHandleRedirect
▸ oauthHandleRedirect(opts?): Promise<OAuthResult>
Вызывается после того, как провайдер OAuth перенаправляет пользователя обратно в приложение.
Также существует вспомогательная функция oauthHandleRedirectIfPresent, которая вызывает oauthHandleRedirect, если в URL в параметрах запроса присутствует oauth-код, и в противном случае возвращает false.
Параметры
| Имя | Тип | Описание |
|---|---|---|
opts? | Object | - |
opts.codeVerifier? | string | codeVerifier, сгенерированный oauthLoginUrl Default ts localStorage.getItem("huggingface.co:oauth:code_verifier") |
opts.hubUrl? | string | URL хаба. По умолчанию HUB_URL. |
opts.nonce? | string | nonce, сгенерированный oauthLoginUrl Default ts localStorage.getItem("huggingface.co:oauth:nonce") |
opts.redirectedUrl? | string | URL для анализа. Default ts window.location.href |
Возвращает
Promise<OAuthResult>
Определено в
packages/hub/src/lib/oauth-handle-redirect.ts:123
oauthHandleRedirectIfPresent
▸ oauthHandleRedirectIfPresent(opts?): Promise<OAuthResult | false>
Вызывается после того, как провайдер OAuth перенаправляет пользователя обратно в приложение.
Возвращает false, если в параметрах запроса URL отсутствует код oauth, в противном случае вызывает oauthHandleRedirect.
В зависимости от вашего приложения, возможно, вам потребуется вызывать oauthHandleRedirect напрямую.
Параметры
| Имя | Тип | Описание |
|---|---|---|
opts? | Object | - |
opts.codeVerifier? | string | codeVerifier, сгенерированный oauthLoginUrl Default ts localStorage.getItem("huggingface.co:oauth:code_verifier") |
opts.hubUrl? | string | URL хаба. По умолчанию HUB_URL. |
opts.nonce? | string | nonce, сгенерированный oauthLoginUrl Default ts localStorage.getItem("huggingface.co:oauth:nonce") |
opts.redirectedUrl? | string | URL для анализа. Default ts window.location.href |
Возвращает
Promise<OAuthResult | false>
Определено в
packages/hub/src/lib/oauth-handle-redirect.ts:293
oauthLoginUrl
▸ oauthLoginUrl(opts?): Promise<string>
Используйте «Sign in with Hub» для аутентификации пользователя и получения информации об oauth-пользователе / токена доступа.
Возвращает URL для перенаправления. После того как пользователь будет перенаправлен обратно в ваше приложение, вызовите oauthHandleRedirect, чтобы получить информацию об oauth-пользователе / access token.
При вызове из статического Space с включённым OAuth конфигурация загружается из Space, в противном случае необходимо как минимум указать идентификатор клиента вашего OAuth-приложения.
Параметры
| Имя | Тип | Описание |
|---|---|---|
opts? | Object | - |
opts.clientId? | string | Идентификатор OAuth-клиента. Для статических Spaces этот параметр можно опустить: он будет загружен из конфигурации Space, если в метаданных README.md присутствует hf_oauth: true. Для других Spaces он доступен бэкенду через переменную окружения OAUTH_CLIENT_ID, если в метаданных README.md присутствует hf_oauth: true. Также вы можете создать Developer Application на странице https://huggingface.co/settings/connected-applications и использовать его идентификатор клиента. |
opts.hubUrl? | string | - |
opts.localStorage? | Object | Если передано, будет заполнено кодом верификатора и nonce, используемыми для OAuth-потока, вместо использования localStorage. При вызове oauthHandleRedirectIfPresent или oauthHandleRedirect необходимо передать те же значения. |
opts.localStorage.codeVerifier? | string | - |
opts.localStorage.nonce? | string | - |
opts.redirectUrl? | string | URI перенаправления, по умолчанию — текущий URL. Для Spaces разрешён любой URL в пределах Space. Для Developer Applications вы можете добавить любой URL в список разрешённых URI перенаправления на странице https://huggingface.co/settings/connected-applications. |
opts.scopes? | string | OAuth scope, список областей, разделённых пробелами. Для статических Spaces этот параметр можно опустить, и он будет загружен из конфигурации Space, при условии что в метаданных README.md присутствует hf_oauth: true. Для других Spaces он доступен бэкенду через переменную окружения OAUTH_SCOPES, при условии что в метаданных README.md присутствует hf_oauth: true. По умолчанию — “openid profile”. Также можно создать Developer Application на https://huggingface.co/settings/connected-applications и использовать его области. Список доступных областей см. по адресу https://huggingface.co/docs/hub/oauth. |
opts.state? | string | Состояние, передаваемое провайдеру OAuth, которое будет возвращено в вызове oauthLogin после перенаправления. |
Возвращает
Promise<string>
Example
import { oauthLoginUrl, oauthHandleRedirectIfPresent } from "@huggingface/hub";
const oauthResult = await oauthHandleRedirectIfPresent();
if (!oauthResult) {
// If the user is not logged in, redirect to the login page
window.location.href = await oauthLoginUrl();
}
// You can use oauthResult.accessToken, oauthResult.accessTokenExpiresAt and oauthResult.userInfo
console.log(oauthResult);(Теоретически, эту функцию можно использовать для аутентификации пользователя для любого OAuth-провайдера, поддерживающего PKCE и OpenID Connect, изменив hubUrl, но в настоящее время она протестирована только с Hugging Face Hub.)
Определено в
packages/hub/src/lib/oauth-login-url.ts:31
parseRepoType
▸ parseRepoType(type): RepoType
Параметры
| Имя | Тип |
|---|---|
type | string |
Возвращает
Определено в
packages/hub/src/lib/cache-management.ts:264
parseSafetensorsMetadata
▸ parseSafetensorsMetadata(params): Promise<SetRequired<SafetensorsParseFromRepo, "parameterCount">>
Проанализируйте model.safetensors.index.json или model.safetensors из модели, размещенной на Hugging Face, с помощью умных range-запросов для извлечения метаданных.
Параметры
| Имя | Тип |
|---|---|
params | { computeParametersCount: true ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; library?: string ; path?: string ; repo: RepoDesignation ; revision?: string ; useSafetensorsMetadataEndpoint?: boolean } & Partial<CredentialsParams> |
Возвращает
Promise<SetRequired<SafetensorsParseFromRepo, "parameterCount">>
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:738
▸ parseSafetensorsMetadata(params): Promise<SafetensorsParseFromRepo>
Параметры
| Имя | Тип |
|---|---|
params | { computeParametersCount?: boolean ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; library?: string ; path?: string ; repo: RepoDesignation ; revision?: string ; useSafetensorsMetadataEndpoint?: boolean } & Partial<CredentialsParams> |
Возвращает
Promise<SafetensorsParseFromRepo>
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:775
parseSafetensorsShardFilename
▸ parseSafetensorsShardFilename(filename): SafetensorsShardFileInfo | null
Параметры
| Имя | Тип |
|---|---|
filename | string |
Возвращает
SafetensorsShardFileInfo | null
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:36
parseTotalParameters
▸ parseTotalParameters(value, computedTotal?): number | undefined
Читает сокращение total_parameters из метаданных заголовка/индекса. Это самодекларируемое значение, и Hub отображает его как есть, минуя валидацию заголовка, описанную выше, — поэтому при наличии вычисленного значения ограничиваем им это поле (для корректных файлов это операция без изменений, так как оба значения совпадают).
Параметры
| Имя | Тип |
|---|---|
value | undefined | string | number |
computedTotal? | number |
Возвращает
number | undefined
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:699
pathsInfo
▸ pathsInfo(params): Promise<PathInfo & { lastCommit: CommitInfo ; securityFileStatus: SecurityFileStatus }[]>
Параметры
| Имя | Тип |
|---|---|
params | { expand: true ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; paths: string[] ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<PathInfo & { lastCommit: CommitInfo ; securityFileStatus: SecurityFileStatus }[]>
Определено в
packages/hub/src/lib/paths-info.ts:52
▸ pathsInfo(params): Promise<PathInfo[]>
Параметры
| Имя | Тип |
|---|---|
params | { expand?: boolean ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; paths: string[] ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<PathInfo[]>
Определено в
packages/hub/src/lib/paths-info.ts:65
relativeUnderFolder
▸ relativeUnderFolder(filePath, folderPath): string
Вычисляет путь filePath относительно folderPath. Используется для сопоставления исходных путей в копируемой папке с целевыми путями под новым префиксом.
Параметры
| Имя | Тип |
|---|---|
filePath | string |
folderPath | string |
Возвращает
string
Определено в
packages/hub/src/lib/copy-files.ts:558
repoExists
▸ repoExists(params): Promise<boolean>
Параметры
| Имя | Тип | Описание |
|---|---|---|
params | Object | - |
params.accessToken? | string | - |
params.fetch? | (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> | Пользовательская функция fetch, используемая вместо функции по умолчанию, например, для использования прокси или изменения заголовков. |
params.hubUrl? | string | - |
params.repo | RepoDesignation | - |
params.revision? | string | Необязательный идентификатор ревизии Git, который может быть именем ветки, тегом или хэшем коммита. |
Возвращает
Promise<boolean>
Определено в
packages/hub/src/lib/repo-exists.ts:7
resumeScheduledJob
▸ resumeScheduledJob(params): Promise<void>
Возобновить запланированную задачу.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/jobs/resume-scheduled-job.ts:10
runJob
▸ runJob(params): Promise<ApiJob>
Запустите новую задачу.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CreateJobOptions & CredentialsParams |
Возвращает
Promise<ApiJob>
Определено в
packages/hub/src/lib/jobs/run-job.ts:13
runScheduledJob
▸ runScheduledJob(params): Promise<ApiJob | null>
Запустите запланированную задачу немедленно. Возвращает запущенную задачу или null, если другой экземпляр уже выполняется.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<ApiJob | null>
Определено в
packages/hub/src/lib/jobs/run-scheduled-job.ts:12
scanCacheDir
▸ scanCacheDir(cacheDir?): Promise<HFCacheInfo>
Параметры
| Имя | Тип | Значение по умолчанию |
|---|---|---|
cacheDir | undefined | string | undefined |
Возвращает
Promise<HFCacheInfo>
Определено в
packages/hub/src/lib/cache-management.ts:72
scanCachedRepo
▸ scanCachedRepo(repoPath): Promise<CachedRepoInfo>
Параметры
| Имя | Тип |
|---|---|
repoPath | string |
Возвращает
Promise<CachedRepoInfo>
Определено в
packages/hub/src/lib/cache-management.ts:118
scanRefsDir
▸ scanRefsDir(refsPath, refsByHash): Promise<void>
Параметры
| Имя | Тип |
|---|---|
refsPath | string |
refsByHash | Map<string, string[]> |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/cache-management.ts:210
scanSnapshotDir
▸ scanSnapshotDir(revisionPath, cachedFiles, blobStats): Promise<void>
Параметры
| Имя | Тип |
|---|---|
revisionPath | string |
cachedFiles | CachedFileInfo[] |
blobStats | Map<string, Stats> |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/cache-management.ts:227
snapshotDownload
▸ snapshotDownload(params): Promise<string>
Загружает весь репозиторий с заданной ревизией в каталог кэша getHFHubCachePath. Список всех репозиториев в кэше можно получить с помощью scanCachedRepo
Параметры
| Имя | Тип |
|---|---|
params | { cacheDir?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<string>
Remarks
Внутри используется downloadFileToCacheDir.
Определено в
packages/hub/src/lib/snapshot-download.ts:20
spaceInfo
▸ spaceInfo<T>(params): Promise<SpaceEntry & Pick<ApiSpaceInfo, T>>
Параметры типа
| Имя | Тип |
|---|---|
T | extends "models" | "datasets" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "sha" | "subdomain" | "runtime" = never |
Параметры
| Имя | Тип |
|---|---|
params | { additionalFields?: T[] ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
Возвращает
Promise<SpaceEntry & Pick<ApiSpaceInfo, T>>
Определено в
packages/hub/src/lib/space-info.ts:11
streamJobEvents
▸ streamJobEvents(params): AsyncGenerator<string, void, unknown>
Потоковая передача событий задания с помощью Server-Sent Events (SSE). Возвращает асинхронный итерируемый объект с фрагментами событий.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
AsyncGenerator<string, void, unknown>
Определено в
packages/hub/src/lib/jobs/stream-job-events.ts:11
streamJobLogs
▸ streamJobLogs(params): AsyncGenerator<{ message: string ; timestamp: Date }, void, unknown>
Потоковая передача журналов заданий с использованием Server-Sent Events (SSE). Возвращает асинхронный итерируемый объект с фрагментами журнала.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
AsyncGenerator<{ message: string ; timestamp: Date }, void, unknown>
Определено в
packages/hub/src/lib/jobs/stream-job-logs.ts:11
streamJobMetrics
▸ streamJobMetrics(params): AsyncGenerator<string, void, unknown>
Передача метрик задания в режиме потока с использованием Server-Sent Events (SSE). Возвращает асинхронный итерируемый объект с фрагментами метрик.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
AsyncGenerator<string, void, unknown>
Определено в
packages/hub/src/lib/jobs/stream-job-metrics.ts:11
streamJson
▸ streamJson(source, options?): AsyncGenerator<JsonStreamEvent, void, undefined>
Параметры
| Имя | Тип | Описание |
|---|---|---|
source | ReadableStream<Uint8Array<ArrayBufferLike>> | AsyncIterable<Uint8Array<ArrayBufferLike>, any, any> | - |
options? | Object | - |
options.maxDepth? | number | Максимальная глубина вложенности объектов/массивов. Default ts 1_000 |
options.maxTokenLength? | number | Максимальная длина, в символах, одиночного строкового / числового токена. Default ts 16_000_000 |
Возвращает
AsyncGenerator<JsonStreamEvent, void, undefined>
Определено в
packages/hub/src/utils/streamJson.ts:123
suspendScheduledJob
▸ suspendScheduledJob(params): Promise<void>
Приостановить (пауза) запланированную задачу.
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
Возвращает
Promise<void>
Определено в
packages/hub/src/lib/jobs/suspend-scheduled-job.ts:10
uploadFile
▸ uploadFile(params): Promise<CommitOutput | undefined>
Параметры
| Имя | Тип |
|---|---|
params | { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; file: URL | CommitEditFileParams | File | { content: ContentSource ; path: string } ; hubUrl?: string ; isPullRequest?: boolean ; parentCommit?: string ; rangeEditCache?: RangeEditCache ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } ; useXet?: boolean } & Partial<CredentialsParams> |
Возвращает
Promise<CommitOutput | undefined>
Определено в
packages/hub/src/lib/upload-file.ts:39
uploadFiles
▸ uploadFiles(params): Promise<CommitOutput | undefined>
Параметры
| Имя | Тип |
|---|---|
params | { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; files: (URL | CommitEditFileParams | File | { content: ContentSource ; path: string })[] ; hubUrl?: string ; isPullRequest?: boolean ; maxFolderDepth?: number ; parentCommit?: string ; rangeEditCache?: RangeEditCache ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } ; useXet?: boolean } & Partial<CredentialsParams> |
Возвращает
Promise<CommitOutput | undefined>
Определено в
packages/hub/src/lib/upload-files.ts:6
uploadFilesWithProgress
▸ uploadFilesWithProgress(params): AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
Загрузка с отображением прогресса
Для получения событий прогресса при загрузке моделей, наборов данных и пространств требуется наличие XMLHttpRequest. Установите useWebWorkers в true, чтобы получать события прогресса при хешировании моделей, наборов данных и пространств.
Параметры
| Имя | Тип |
|---|---|
params | { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; files: (URL | CommitEditFileParams | File | { content: ContentSource ; path: string })[] ; hubUrl?: string ; isPullRequest?: boolean ; maxFolderDepth?: number ; parentCommit?: string ; rangeEditCache?: RangeEditCache ; repo: RepoDesignation ; useWebWorkers?: boolean | { minSize?: number ; poolSize?: number } ; useXet?: boolean } & Partial<CredentialsParams> |
Возвращает
AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
Определено в
packages/hub/src/lib/upload-files-with-progress.ts:21
validateTensorEntry
▸ validateTensorEntry(path, tensorName, info, fileSizeBytes): void
Проверяет одну запись тензора из заголовка: размеры — конечные целые числа, не превышающие MAX_TENSOR_DIM, data_offsets корректны, а — если размер файла известен — объявленный диапазон байт помещается в файл. Проверяются data_offsets, а не shape * dtype size, поскольку эти значения могут правомерно расходиться (из-за выравнивания), поэтому смещения — единственный достоверный источник информации, который предоставляет формат.
Параметры
| Имя | Тип |
|---|---|
path | string |
tensorName | string |
info | TensorInfo |
fileSizeBytes | undefined | number |
Возвращает
void
Определено в
packages/hub/src/lib/parse-safetensors-metadata.ts:246
whoAmI
▸ whoAmI(params): Promise<WhoAmI & { auth: AuthInfo }>
Параметры
| Имя | Тип |
|---|---|
params | { fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>(input: string | Request | URL, init?: RequestInit) => Promise<Response> ; hubUrl?: string } & CredentialsParams |
Возвращает
Promise<WhoAmI & { auth: AuthInfo }>
Определено в
packages/hub/src/lib/who-am-i.ts:63
Update on GitHub