utils/hub
与Hugging Face Hub交互的实用函数 (https://huggingface.co/models)
- utils/hub
- 静态
.getFile(urlOrPath)
⇒Promise.<(FileResponse|Response)>
.getModelFile(path_or_repo_id, filename, [fatal], [options])
⇒Promise
.getModelJSON(modelPath, fileName, [fatal], [options])
⇒Promise.<Object>
- 内部
- ~FileResponse
new FileResponse(filePath)
._CONTENT_TYPE_MAP
.updateContentType()
⇒void
.clone()
⇒FileResponse
.arrayBuffer()
⇒Promise.<ArrayBuffer>
.blob()
⇒Promise.<Blob>
.text()
⇒Promise.<string>
.json()
⇒Promise.<Object>
- ~FileCache
new FileCache(path)
.match(request)
⇒Promise.<(FileResponse|undefined)>
.put(request, response)
⇒Promise.<void>
~isValidUrl(string, [protocols], [validHosts])
⇒boolean
~handleError(status, remoteURL, fatal)
⇒null
~tryCache(cache, ...names)
⇒Promise.<(FileResponse|Response|undefined)>
~readResponse(response, progress_callback)
⇒Promise.<Uint8Array>
~pathJoin(...parts)
⇒string
~PretrainedOptions
:Object
- ~FileResponse
- 静态
utils/hub.getFile(urlOrPath) ⇒ <code> Promise. < (FileResponse|Response) > </code>
使用Fetch API或FileSystem API获取文件的帮助函数。
类型: utils/hub
的静态方法
返回值: Promise.<(FileResponse|Response)>
- 一个解析为FileResponse对象的Promise(如果使用FileSystem API检索文件),或者一个Response对象(如果使用Fetch API检索文件)。
参数 | 类型 | 描述 |
---|---|---|
urlOrPath | URL | string | 要获取的文件的URL/路径。 |
utils/hub.getModelFile(path_or_repo_id, filename, [fatal], [options]) ⇒ <code> Promise </code>
使用Fetch API从远程URL或使用FileSystem API从本地文件系统检索文件。如果文件系统可用且env.useCache = true
,则文件将被下载并缓存。
类型: utils/hub
的静态方法
返回值: Promise
- 一个解析为文件内容的缓冲区的Promise。
抛出:
- 如果找不到文件且
fatal
为 true,则会抛出错误。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
path_or_repo_id | 字符串 | 这可以是以下任意一个:
| |
filename | 字符串 | 在 | |
[fatal] | 布尔值 | true | 如果找不到文件是否抛出错误。 |
[options] | PretrainedOptions | 包含可选参数的对象。 |
getModelFile~cacheKey : <code> string </code>
类型: getModelFile
的内部属性
getModelFile~response : <code> Response </code> | <code> FileResponse </code> | <code> undefined </code>
类型: getModelFile
的内部属性
getModelFile~buffer : <code> Uint8Array </code>
类型: getModelFile
的内部属性
utils/hub.getModelJSON(modelPath, fileName, [fatal], [options]) ⇒ <code> Promise. < Object > </code>
从指定的路径和文件名中获取JSON文件。
类型: utils/hub
的静态方法
返回值: Promise.<Object>
- 将JSON数据解析成JavaScript对象。
抛出:
- 如果找不到文件且
fatal
为 true,则会抛出错误。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
modelPath | 字符串 | 包含文件的目录路径。 | |
fileName | 字符串 | 要获取的文件名。 | |
[fatal] | 布尔值 | true | 如果找不到文件是否抛出错误。 |
[options] | PretrainedOptions | 包含可选参数的对象。 |
utils/hub~FileResponse
类型: utils/hub
的内部类
- ~FileResponse
new FileResponse(filePath)
._CONTENT_TYPE_MAP
.updateContentType()
⇒void
.clone()
⇒FileResponse
.arrayBuffer()
⇒Promise.<ArrayBuffer>
.blob()
⇒Promise.<Blob>
.text()
⇒Promise.<string>
.json()
⇒Promise.<Object>
new FileResponse(filePath)
创建一个新的 FileResponse
对象。
参数 | 类型 |
---|---|
filePath | 字符串 (string) 或网址 (URL) |
fileResponse._CONTENT_TYPE_MAP
从文件扩展名到MIME类型的映射。
类型: FileResponse
的实例属性
fileResponse.updateContentType() ⇒ <code> void </code>
根据当前对象 filePath 属性指定的文件的扩展名更新响应的‘content-type’头属性。
类型: FileResponse
的实例方法
fileResponse.clone() ⇒ <code> FileResponse </code>
克隆当前 FileResponse 对象。
类型: FileResponse
的实例方法
返回: FileResponse
- 与当前对象有相同属性的新的 FileResponse 对象。
fileResponse.arrayBuffer() ⇒ <code> Promise. < ArrayBuffer > </code>
读取由 filePath 属性指定的文件的文件内容,并返回一个解析为包含文件内容的 ArrayBuffer 的 Promise。
类型: FileResponse
的实例方法
返回: Promise.<ArrayBuffer>
- 一个解析为包含文件内容的 ArrayBuffer 的 Promise。
抛出:
- 如果文件无法读取,则会返回
Error
。
fileResponse.blob() ⇒ <code> Promise. < Blob > </code>
读取由 filePath 属性指定的文件的内容,并返回一个解析为包含文件内容的 Blob 的 Promise。
类型: FileResponse
的实例方法
返回: Promise.<Blob>
- 一个解析为包含文件内容的 Blob 的 Promise。
抛出:
- 如果文件无法读取,则会返回
Error
。
fileResponse.text() ⇒ <code> Promise. < string > </code>
读取由 filePath 属性指定的文件的内容,并返回一个解析为包含文件内容的字符串的 Promise。
类型: FileResponse
的实例方法
返回: Promise.<string>
- 一个解析为包含文件内容的字符串的 Promise。
抛出:
- 如果文件无法读取,则会返回
Error
。
fileResponse.json() ⇒ <code> Promise. < Object > </code>
读取由 filePath 属性指定的文件的内容,并返回一个解析为包含文件内容的 JavaScript 对象的 Promise。
类型: FileResponse
的实例方法
返回: Promise.<Object>
- 一个解析为包含文件内容的 JavaScript 对象的 Promise。
抛出:
- 如果文件无法读取,则会返回
Error
。
utils/hub~FileCache
类型: utils/hub
的内部类
- ~FileCache
new FileCache(path)
.match(request)
⇒Promise.<(FileResponse|undefined)>
.put(request, response)
⇒Promise.<void>
new FileCache(path)
创建一个 FileCache
对象。
参数 | 类型 |
---|---|
path | 字符串 |
fileCache.match(request) ⇒ <code> Promise. < (FileResponse|undefined) > </code>
检查给定的请求是否在缓存中。
类型: FileCache
的实例方法
参数 | 类型 |
---|---|
request | 字符串 |
fileCache.put(request, response) ⇒ <code> Promise. < void > </code>
将给定的响应添加到缓存中。
类型: FileCache
的实例方法
参数 | 类型 |
---|---|
request | 字符串 |
response | Response | FileResponse |
utils/hub~isValidUrl(string, [protocols], [validHosts]) ⇒ <code> boolean </code>
确定给定的字符串是否为有效的URL。
类型:utils/hub
的内部方法
返回:boolean
- 如果字符串是有效的URL,则返回True,否则返回false。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
字符串 | 字符串 (string) 或网址 (URL) | 要测试的字符串,作为URL的有效性。 | |
[protocols] | 数组。 |
| 有效协议的列表。如果指定,协议必须在此列表中。 |
[validHosts] | 数组。 |
| 有效主机名的列表。如果指定,URL的主机名必须在此列表中。 |
utils/hub~handleError(status, remoteURL, fatal) ⇒ <code> null </code>
辅助方法,用于处理在尝试从Hugging Face Hub加载文件时发生的致命错误。
类型:utils/hub
的内部方法
返回:null
- 如果fatal = true
,则返回null
。
抛出:
Error
如果fatal = false
。
参数 | 类型 | 描述 |
---|---|---|
status | 数字 | 错误的HTTP状态码。 |
remoteURL | 字符串 | 无法加载的文件的URL。 |
fatal | 布尔值 | 如果无法加载文件,是否引发错误。 |
utils/hub~tryCache(cache, ...names) ⇒ <code> Promise.<(FileResponse|Response|undefined)> </code>
类型:utils/hub
的内部方法
返回:Promise.<(FileResponse|Response|undefined)>
- 来自缓存的项目,如果没有找到则为undefined。
参数 | 类型 | 描述 |
---|---|---|
cache | FileCache | Cache | 要搜索的缓存 |
...names | 数组。 | 要搜索的项目名称 |
utils/hub~readResponse(response, progress_callback) ⇒ <code> Promise. < Uint8Array > </code>
在读取 Response 对象时读取并跟踪进度
类型:utils/hub
的内部方法
返回: Promise.<Uint8Array>
- 一个解析为 Uint8Array 缓冲区的 Promise
参数 | 类型 | 描述 |
---|---|---|
response | any | 要读取的 Response 对象 |
progress_callback | 函数 | 用于调用进度更新的函数 |
utils/hub~pathJoin(...parts) ⇒ <code> string </code>
将多个路径段连接成单个路径,同时处理前导和尾随斜杠
类型:utils/hub
的内部方法
返回: string
- 表示连接路徑的字符串。
参数 | 类型 | 描述 |
---|---|---|
...parts | 字符串 | 路径的多部分。 |
utils/hub~PretrainedOptions : <code> Object </code>
加载预训练模型的选项
类型: utils/hub
的内部类型定义
属性
Name | 类型 | 默认 | 描述 |
---|---|---|---|
[quantized] | 布尔值 | true | 是否加载模型的 8 位量化版本(仅适用于加载模型文件)。 |
[progress_callback] | 函数 |
| 如果指定,在模型构建期间调用此函数,向用户提供进度更新。 |
[config] | Object |
| 用于替代自动加载配置的模型配置对象。配置可以在以下情况下自动加载:
|
[cache_dir] | 字符串 | null | 如果标准缓存不被使用,预下载的预训练模型配置应缓存在这个目录的路径。 |
[local_files_only] | 布尔值 | false | 是否只查看本地文件(例如,不尝试下载模型)。 |
[revision] | 字符串 | "'main'" | 要使用的特定模型版本。它可以是一个分支名称、一个标签名称或一个提交 ID,因为我们使用基于 git 的系统在 huggingface.co 上存储模型和其他工件,因此 |
[model_file_name] | 字符串 | null | 如果指定,将使用此名称(不包含 .onnx 后缀)加载模型。当前仅适用于仅编码器或仅解码器模型。 |
< > 在 GitHub 上更新