Huggingface.js documentation
@huggingface/hub
@huggingface/hub
クラス
- HubApiError
- InvalidApiResponseFormatError
- JsonStreamParseError
- SafetensorParseError
- __internal_XetBlob
インターフェース
- AuthInfo
- CachedFileInfo
- CachedRepoInfo
- CachedRevisionInfo
- CommitCopyFile
- CommitData
- CommitDeletedEntry
- コミット、編集、ファイル
- 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:123
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:130
CommitProgressEvent
Ƭ CommitProgressEvent: { event: "phase" ; phase: "preuploading" | "uploadingLargeFiles" | "committing" } | { event: "fileProgress" ; path: string ; progress: number ; state: "hashing" | "uploading" | "error" }
定義場所
packages/hub/src/lib/commit.ts:200
ContentSource
Ƭ ContentSource: Blob | URL
定義場所
packages/hub/src/lib/commit.ts:44
Dtype
Ƭ 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 は、ドキュメント全体をメモリに2回(ソース文字列と、生成されるオブジェクトツリー)保持する必要があり、そのため、興味深いコンテンツがごくわずかな大きなドキュメントには使用できません。例えば、大きな MoE の model.safetensors.index.json では、60 MB の 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:50
PipelineType
Ƭ PipelineType: typeof PIPELINE_DATA のキー
定義場所
packages/tasks/dist/commonjs/pipelines.d.ts:380
RangeEditCache
Ƭ RangeEditCache: Map<string, RangeEditCacheEntry>
以前にrange-editパスを通じて書き込まれたファイルのメモリ内状態を、そのxetハッシュをキーとして保持します。これにより、後続のappend(またはファイルの最後のtermの編集)において、再構築およびfile-chunk-hashes API呼び出しを完全にスキップできます。部分merkle状態と検証ハッシュはすでに既知だからです。
同じファイルに追記する連続するcommit呼び出しに、同じRangeEditCacheインスタンスを渡すことで、追記のたびにCASメタデータAPIを呼び出すのを避けてください。
定義場所
packages/hub/src/utils/rangeEdit.ts:16
リポジトリ指定
Ƭ リポジトリ指定: 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:54
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:51
変数
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:17
DATASET _ EXPAND _ KEYS
• Const DATASET_EXPAND_KEYS: 読み取り専用 ["private", "downloads", "gated", "likes", "lastModified"]
定義場所
packages/hub/src/lib/list-datasets.ts:9
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 _ INDEX _ FILE
• Const DIFFUSERS_SAFETENSORS_INDEX_FILE: "diffusion_pytorch_model.safetensors.index.json"
定義場所
packages/hub/src/lib/parse-safetensors-metadata.ts:22
DIFFUSERS _ WEIGHTS _ サブフォルダ
• Const DIFFUSERS_WEIGHTS_SUBFOLDERS: 読み取り専用 ["transformer", "unet"]
定義場所
packages/hub/src/lib/parse-safetensors-metadata.ts:23
HUB _ URL
• Const HUB_URL: "https://huggingface.co"
Hugging Face HubのベースURL。
定義場所
モデル派生フィールドからAPIキーへ
• Const MODEL_DERIVED_FIELD_TO_API_KEY: Record<keyof ModelDerivedFields, keyof ApiModelInfo>
定義場所
packages/hub/src/lib/list-models.ts:46
MODEL _ EXPANDABLE _ KEYS
• Const MODEL_EXPANDABLE_KEYS: 読み取り専用 ["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:18
MODEL _ EXPAND _ KEYS
• Const MODEL_EXPAND_KEYS: 読み取り専用 ["pipeline_tag", "private", "gated", "downloads", "likes", "lastModified"]
定義場所
packages/hub/src/lib/list-models.ts:9
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:15
SPACE _ EXPAND _ KEYS
• Const SPACE_EXPAND_KEYS: 読み取り専用 ["sdk", "likes", "private", "lastModified"]
定義場所
packages/hub/src/lib/list-spaces.ts:9
関数
_ _ 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>
16進エンコードされたsha
Yields
進捗 (0-1)
定義場所
packages/hub/src/utils/sha256.ts:72
assertSafeShardFilename
▸ assertSafeShardFilename(filename): void
weight_map のファイル名はリポジトリのファイルから取得されるため、攻撃者によって制御される可能性があります。したがって、インデックス自身のディレクトリ内の相対パスである必要があります。
includes("..") のリテラルなチェックだけでは不十分です。ファイル名が最終的に格納される URL は、チェックの 後 に WHATWG URL パーサーによって解析され、このパーサーはドットセグメントをパーセントデコードするためです。%2e%2e(または .%2e、%2E%2E など)は、このパーサーにとって .. セグメントであり、リポジトリの外にエスケープしてしまいます。さらに認証情報が付与された状態で、リクエストは別のリポジトリの resolve URL に対して認証済みとして到達してしまいます。
検証の前にデコードを実行し(%252e%252eを検出するために繰り返し実行し)、プレーンな相対パスではないものを拒否します。
パラメータ
| 名前 | 型 |
|---|---|
filename | string |
返り値
void
定義場所
packages/hub/src/lib/parse-safetensors-metadata.ts:511
cancelJob
▸ cancelJob(params): Promise<ApiJob>
ジョブをキャンセルします。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiJob>
定義場所
packages/hub/src/lib/jobs/cancel-job.ts:10
checkRepoAccess
▸ checkRepoAccess(params): Promise<void>
リポジトリへの読み取りアクセス権があるかどうかを確認します。
アクセス権限がない場合は、HubApiError エラーをスローします。HubApiError.statusCode は 401、403、または 404 になります。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation } & Partial<CredentialsParams> |
返り値
Promise<void>
定義場所
packages/hub/src/lib/check-repo-access.ts:13
コミット
▸ commit(params): Promise<CommitOutput | undefined>
パラメータ
| 名前 | 型 |
|---|---|
params | CommitParams |
返り値
Promise<CommitOutput | undefined>
バケットへのアップロードではundefined、それ以外の場合はCommitOutput
定義場所
packages/hub/src/lib/commit.ts:1031
commitIter
▸ commitIter(params): AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
現在は内部関数として、commitで使用されています。
後で公開し、微調整された進捗情報を提供できるようにできます
CommitOutputはバケットコミットには存在しません
パラメータ
| 名前 | 型 |
|---|---|
params | CommitParams |
返り値
AsyncGenerator<CommitProgressEvent, CommitOutput | undefined>
定義場所
packages/hub/src/lib/commit.ts:219
commitIterBucket
▸ commitIterBucket(params): AsyncGenerator<CommitProgressEvent>
パラメータ
| 名前 | 型 |
|---|---|
params | CommitParams |
返り値
AsyncGenerator<CommitProgressEvent>
定義場所
packages/hub/src/lib/commit.ts:775
computeNumOfParamsByDtypeSingleFile
▸ computeNumOfParamsByDtypeSingleFile(header, quantConfig?, expertDtype?): Partial<Record<Dtype, number>>
1つのファイルのヘッダーについて、dtypeごとにパラメータを合計します。量子化のパッキング係数を適用し、管理用のテンソルはスキップします。
パラメータ
| 名前 | 型 |
|---|---|
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)の場合、ファイルはダウンロードされ、同じコミット内で宛先バケットに再アップロードされます。
xet に移行されていない LFS ポインターファイルは、事前に取り下げられます(移行されていなければ、完全な 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>
非xetソースファイルをダウンロードしながらCopyProgressEventを生成する、copyFileの非同期イテレータ版です(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で管理される小さなリポジトリファイル)の場合、ファイルはダウンロードされ、同じコミットの一部として再アップロードされます。
xet に移行されていない LFS ポインターファイルは、事前に拒否されます。
パラメータ
| 名前 | 型 |
|---|---|
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>
非xetソースファイルのダウンロード中にCopyProgressEventを生成する、copyFilesの非同期イテレータ版です(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>
非 xet ソースファイルをダウンロードしながら CopyProgressEvent を生成する、copyFolder の非同期イテレータ版です(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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<number>
定義場所
packages/hub/src/lib/count-commits.ts:7
createBranch
▸ createBranch(params): Promise<void>
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
params | Object | - |
params.accessToken? | string | - |
params.branch | string | 作成するブランチの名前 |
params.empty? | boolean | これを使用して、コミットのない空のブランチを作成します。 |
params.fetch? | (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> | MDN リファレンス |
params.hubUrl? | string | - |
params.overwrite? | boolean | overwrite を使用すると、ブランチが既に存在する場合に上書きできます。overwrite のみ指定し、revision/empty を指定せず、ブランチが既に存在する場合、何もしません。 |
params.repo | RepoDesignation | - |
params.revision? | string | ブランチを作成する元のリビジョン。デフォルトでは、デフォルトブランチが使用されます。空のブランチを作成するには、empty: trueを使用します。 |
返り値
Promise<void>
定義場所
packages/hub/src/lib/create-branch.ts:6
createCollection
▸ createCollection(params): Promise<{ slug: string }>
パラメータ
| 名前 | 型 |
|---|---|
params | { collection: ApiCreateCollectionPayload ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string } & Partial<CredentialsParams> |
返り値
Promise<{ slug: string }>
定義場所
packages/hub/src/lib/create-collection.ts:7
createRepo
▸ createRepo(params): Promise<{ id: string ; repoUrl: string }>
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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:9
createScheduledJob
▸ createScheduledJob(params): Promise<ApiScheduledJob>
スケジュールジョブを作成します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CreateScheduledJobOptions & CredentialsParams |
返り値
Promise<ApiScheduledJob>
定義場所
packages/hub/src/lib/jobs/create-scheduled-job.ts:11
datasetInfo
▸ datasetInfo<T>(params): Promise<DatasetEntry & Pick<ApiDatasetInfo, T>>
型パラメータ
| 名前 | 型 |
|---|---|
T | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "paperswithcode_id" | "sha" | "citation" | "description" | "downloadsAllTime" を継承し、never に等しい |
パラメータ
| 名前 | 型 |
|---|---|
params | { additionalFields?: T[] ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<DatasetEntry & Pick<ApiDatasetInfo, T>>
定義場所
packages/hub/src/lib/dataset-info.ts:9
deleteBranch
▸ deleteBranch(params): Promise<void>
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
params | Object | - |
params.accessToken? | string | - |
params.branch | string | 削除するブランチの名前 |
params.fetch? | (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> | MDN リファレンス |
params.hubUrl? | string | - |
params.repo | RepoDesignation | - |
返り値
Promise<void>
定義場所
packages/hub/src/lib/delete-branch.ts:6
deleteCollection
▸ deleteCollection(params): Promise<void>
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; slug: string } & Partial<CredentialsParams> |
返り値
Promise<void>
定義場所
packages/hub/src/lib/delete-collection.ts:6
deleteFile
▸ deleteFile(params): Promise<CommitOutput | undefined>
パラメータ
| 名前 | 型 |
|---|---|
params | { branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation } & CredentialsParams |
返り値
Promise<void>
定義場所
packages/hub/src/lib/delete-repo.ts:7
deleteScheduledJob
▸ deleteScheduledJob(params): Promise<void>
スケジュールされたジョブを削除します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<void>
定義場所
packages/hub/src/lib/jobs/delete-scheduled-job.ts:9
downloadFile
▸ downloadFile(params): Promise<Blob | null>
パラメータ
| 名前 | 型 |
|---|---|
params | { downloadInfo?: FileDownloadInfoOutput ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiJob>
定義場所
packages/hub/src/lib/jobs/duplicate-job.ts:10
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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:27
fileExists
▸ fileExists(params): Promise<boolean>
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; path: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<boolean>
定義場所
packages/hub/src/lib/file-exists.ts:7
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiJob>
定義場所
packages/hub/src/lib/jobs/get-job.ts:10
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiScheduledJob>
定義場所
packages/hub/src/lib/jobs/get-scheduled-job.ts:10
globMatch
▸ globMatch(pattern, str): boolean
RegExp を使わない Glob マッチング: パターンを*で分割し、各リテラルセグメントがstr内で順序通りに出現するかを確認します。RegExp を完全に回避するため、ReDoS リスクがなく、config.json 内の攻撃者制御可能なパターンによる SyntaxError も発生しません。
パラメータ
| 名前 | 型 |
|---|---|
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"と一致する必要があります。パターンに*が含まれている場合は、柔軟性のために適切なグロブマッチングにフォールバックします。
パラメータ
| 名前 | 型 |
|---|---|
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:12
listCommits
▸ listCommits(params): AsyncGenerator<CommitData>
パラメータ
| 名前 | 型 |
|---|---|
params | { batchSize?: number ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
返り値
AsyncGenerator<CommitData>
定義場所
packages/hub/src/lib/list-commits.ts:17
listDatasets
▸ listDatasets<T>(params?): AsyncGenerator<DatasetEntry & Pick<ApiDatasetInfo, T>>
型パラメータ
| 名前 | 型 |
|---|---|
T | "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:47
listFiles
▸ listFiles(params): AsyncGenerator<ListFileEntry>
フォルダ内のファイルをリスト表示します。ディレクトリ内のすべてのファイルをリスト表示するには、trueを指定してparams.recursiveを設定し、呼び出します。
パラメータ
| 名前 | 型 |
|---|---|
params | { expand?: boolean ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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:53
listJobHardware
▸ listJobHardware(params?): Promise<ApiJobHardware[]>
ジョブで利用可能なハードウェアのリストを取得します。 このエンドポイントは公開されており、認証は不要ですが、認証は任意です。
パラメータ
| 名前 | 型 |
|---|---|
params? | { hubUrl?: string | undefined; fetch?: { (input: URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | … 1 more … | Request, init?: RequestInit | undefined): Promise<…>; } | undefined; } & Partial<…> |
返り値
Promise<ApiJobHardware[]>
定義場所
packages/hub/src/lib/jobs/list-job-hardware.ts:11
listJobs
▸ listJobs(params): Promise<ApiJob[]>
名前空間(ユーザーまたは組織)のジョブをリスト表示します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiJob[]>
定義場所
packages/hub/src/lib/jobs/list-jobs.ts:10
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:68
listScheduledJobs
▸ listScheduledJobs(params): Promise<ApiScheduledJob[]>
名前空間のスケジュール済みジョブをリスト表示します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiScheduledJob[]>
定義場所
packages/hub/src/lib/jobs/list-scheduled-jobs.ts:10
listSpaces
▸ listSpaces<T>(params?): AsyncGenerator<SpaceEntry & Pick<ApiSpaceInfo, T>>
型パラメータ
| 名前 | 型 |
|---|---|
T | "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: URL | RequestInfo, init?: RequestInit | undefined): Promise<…>; (input: string | … 1 more … | Request, init?: RequestInit | undefined): Promise<…>; }… |
返り値
AsyncGenerator<SpaceEntry & Pick<ApiSpaceInfo, T>>
定義場所
packages/hub/src/lib/list-spaces.ts:44
matchesCompressedTensorsTarget
▸ matchesCompressedTensorsTarget(target, moduleName): boolean
モジュール名をcompressed-tensorsのターゲットと照合します。
ターゲットは、正確なモジュール名、クラス名(例: "Linear"。テンソル名から解決できないため無視されます)、または re: で始まる Python の正規表現のいずれかです。config.json からの攻撃者制御の RegExp の評価を回避するために(ReDoS、SyntaxError — globMatch を参照)、一般的な正規表現の部分集合(.* ワイルドカード、^/$ アンカー、\. エスケープ)を globMatch に変換し、それ以外の正規表現構文を使用するターゲットは非一致として扱います。
パラメータ
| 名前 | 型 |
|---|---|
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<ModelEntry & ResolveModelAdditionalFields<T>>
定義場所
packages/hub/src/lib/model-info.ts:16
oauthHandleRedirect
▸ oauthHandleRedirect(opts?): Promise<OAuthResult>
OAuthプロバイダーがアプリにリダイレクトした後に呼び出します。
ヘルパー関数 oauthHandleRedirectIfPresent もあります。この関数は、URL のクエリパラメーターに oauth コードが含まれている場合に oauthHandleRedirect を呼び出し、それ以外の場合は false を返します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
opts? | Object | - |
opts.codeVerifier? | string | oauthLoginUrl によって生成される codeVerifier Default ts localStorage.getItem("huggingface.co:oauth:code_verifier") |
opts.hubUrl? | string | ハブのURL。デフォルトはHUB_URLです。 |
opts.nonce? | string | oauthLoginUrl によって生成される nonce 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プロバイダーがアプリにリダイレクトした後に呼び出します。
URLのクエリパラメーターにoauthコードが含まれていない場合はfalseを返し、それ以外の場合はoauthHandleRedirectを呼び出します。
アプリの内容によっては、oauthHandleRedirectを直接呼び出すことをお勧めします。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
opts? | Object | - |
opts.codeVerifier? | string | oauthLoginUrl によって生成される codeVerifier Default ts localStorage.getItem("huggingface.co:oauth:code_verifier") |
opts.hubUrl? | string | ハブのURL。デフォルトはHUB_URLです。 |
opts.nonce? | string | oauthLoginUrl によって生成される nonce 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 ユーザー情報 / アクセストークンを取得します。
OAuthが有効な静的Spaceから呼び出された場合、設定はSpaceから読み込まれます。それ以外の場合は、少なくともOAuthアプリのクライアントIDを指定する必要があります。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
opts? | Object | - |
opts.clientId? | string | OAuth クライアント ID。静的な Spaces の場合、README.md のメタデータに hf_oauth: true が存在する限り、この値を省略しても Space の設定から読み込まれます。その他の Spaces の場合、README.md のメタデータに hf_oauth: true が存在する限り、バックエンドでは OAUTH_CLIENT_ID 環境変数として利用できます。また、https://huggingface.co/settings/connected-applications で Developer Application を作成し、そのクライアント ID を使用することもできます。 |
opts.hubUrl? | string | - |
opts.localStorage? | Object | 指定された場合、localStorage を使用せずに、OAuth フローで使用される code verifier と nonce で埋められます。oauthHandleRedirectIfPresent または oauthHandleRedirect を呼び出す際は、同じ値を指定する必要があります。 |
opts.localStorage.codeVerifier? | string | - |
opts.localStorage.nonce? | string | - |
opts.redirectUrl? | string | Redirect URI。デフォルトでは現在の URL が使用されます。Spaces の場合は、Space 内の任意の URL が許可されます。Developer Applications の場合は、https://huggingface.co/settings/connected-applications で許可される Redirect URI のリストに、任意の URL を追加できます。 |
opts.scopes? | string | OAuth scope、スペースで区切られたスコープのリストです。静的な Spaces では、README.md のメタデータに hf_oauth: true が存在する限り、これを省略しても Spaces の設定から読み込まれます。その他の Spaces では、README.md のメタデータに hf_oauth: true が存在する限り、OAUTH_SCOPES 環境変数としてバックエンドに利用できます。デフォルト値は “openid profile” です。https://huggingface.co/settings/connected-applications で Developer Application を作成し、そのスコープを使用することもできます。利用可能なスコープの一覧については、https://huggingface.co/docs/hub/oauth を参照してください。 |
opts.state? | string | リダイレクト後、oauthLoginの呼び出しで返されるOAuthプロバイダーに渡す状態です。 |
返り値
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);(理論上、hubUrlを変更することで、PKCEとOpenID Connectをサポートする任意のOAuthプロバイダーでユーザーを認証するためにこの関数を使用できますが、現在テストされているのは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">>
Hugging Face にホストされているモデルの model.safetensors.index.json または model.safetensors を、スマートな範囲リクエストを使用してメタデータを抽出するために分析します。
パラメータ
| 名前 | 型 |
|---|---|
params | { computeParametersCount: true ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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:51
▸ pathsInfo(params): Promise<PathInfo[]>
パラメータ
| 名前 | 型 |
|---|---|
params | { expand?: boolean ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; paths: string[] ; repo: RepoDesignation ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<PathInfo[]>
定義場所
packages/hub/src/lib/paths-info.ts:64
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> | デフォルトの代わりに使用するカスタムfetch関数。プロキシの使用やヘッダーの編集などに使用できます。 |
params.hubUrl? | string | - |
params.repo | RepoDesignation | - |
params.revision? | string | ブランチ名、タグ、またはコミットハッシュである、任意のGitリビジョンID。 |
返り値
Promise<boolean>
定義場所
packages/hub/src/lib/repo-exists.ts:6
resumeScheduledJob
▸ resumeScheduledJob(params): Promise<void>
スケジュールされたジョブを再開します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<void>
定義場所
packages/hub/src/lib/jobs/resume-scheduled-job.ts:9
runJob
▸ runJob(params): Promise<ApiJob>
新しいジョブを実行します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; namespace: string } & CreateJobOptions & CredentialsParams |
返り値
Promise<ApiJob>
定義場所
packages/hub/src/lib/jobs/run-job.ts:12
runScheduledJob
▸ runScheduledJob(params): Promise<ApiJob | null>
スケジュールされたジョブを即座に実行します。 トリガーされたジョブを返します。別のインスタンスが既に実行中の場合は null を返します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<ApiJob | null>
定義場所
packages/hub/src/lib/jobs/run-scheduled-job.ts:11
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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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 | "models" | "datasets" | "author" | "cardData" | "disabled" | "gitalyUid" | "createdAt" | "tags" | "sha" | "subdomain" | "runtime" を継承し、never |
パラメータ
| 名前 | 型 |
|---|---|
params | { additionalFields?: T[] ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; name: string ; revision?: string } & Partial<CredentialsParams> |
返り値
Promise<SpaceEntry & Pick<ApiSpaceInfo, T>>
定義場所
packages/hub/src/lib/space-info.ts:10
streamJobEvents
▸ streamJobEvents(params): AsyncGenerator<string, void, unknown>
Server-Sent Events (SSE) を使用してジョブのイベントをストリーミングします。 イベントチャンクの非同期イテラブルを返します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
AsyncGenerator<string, void, unknown>
定義場所
packages/hub/src/lib/jobs/stream-job-events.ts:10
streamJobLogs
▸ streamJobLogs(params): AsyncGenerator<{ message: string ; timestamp: Date }, void, unknown>
Server-Sent Events (SSE) を使用してジョブのログをストリーミングします。 ログチャンクの非同期イテラブルを返します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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:10
streamJobMetrics
▸ streamJobMetrics(params): AsyncGenerator<string, void, unknown>
Server-Sent Events (SSE) を使用してジョブのメトリクスをストリーミングします。 メトリクスのチャンクを返す非同期イテラブルです。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
AsyncGenerator<string, void, unknown>
定義場所
packages/hub/src/lib/jobs/stream-job-metrics.ts:10
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 | 1つの文字列/数値トークンの最大長さ(文字数)。Default ts 16_000_000 |
返り値
AsyncGenerator<JsonStreamEvent, void, undefined>
定義場所
packages/hub/src/utils/streamJson.ts:123
suspendScheduledJob
▸ suspendScheduledJob(params): Promise<void>
スケジュールされたジョブを停止(一時停止)します。
パラメータ
| 名前 | 型 |
|---|---|
params | { fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string ; jobId: string ; namespace: string } & CredentialsParams |
返り値
Promise<void>
定義場所
packages/hub/src/lib/jobs/suspend-scheduled-job.ts:9
uploadFile
▸ uploadFile(params): Promise<CommitOutput | undefined>
パラメータ
| 名前 | 型 |
|---|---|
params | { abortSignal?: AbortSignal ; branch?: string ; commitDescription?: string ; commitTitle?: string ; fetch?: (input: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, 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
ヘッダーの1つのテンソルエントリを検証します。次元は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: URL | RequestInfo, init?: RequestInit) => Promise<Response>(input: string | URL | Request, init?: RequestInit) => Promise<Response> ; hubUrl?: string } & CredentialsParams |
返り値
Promise<WhoAmI & { auth: AuthInfo }>
定義場所
packages/hub/src/lib/who-am-i.ts:62
Update on GitHub