Hub
utils/hub
Utility functions to interact with the BOINC AI Hub (https://boincai.com/models)
static
.getFile(urlOrPath)
⇒Promise.<(FileResponse|Response)>
.getModelJSON(modelPath, fileName, [fatal], [options])
⇒Promise.<Object>
inner
.updateContentType()
⇒void
.clone()
⇒FileResponse
.arrayBuffer()
⇒Promise.<ArrayBuffer>
.blob()
⇒Promise.<Blob>
.text()
⇒Promise.<string>
.json()
⇒Promise.<Object>
.match(request)
⇒Promise.<(FileResponse|undefined)>
.put(request, response)
⇒Promise.<void>
~isValidHttpUrl(string, [validHosts])
⇒boolean
~tryCache(cache, ...names)
⇒Promise.<(FileResponse|Response|undefined)>
~readResponse(response, progress_callback)
⇒Promise.<Uint8Array>
~pathJoin(...parts)
⇒string
~PretrainedOptions
:Object
utils/hub.getFile(urlOrPath) ⇒ <code> Promise. < (FileResponse|Response) > </code>
Helper function to get a file, using either the Fetch API or FileSystem API.
Kind: static method of utils/hub
Returns: Promise.<(FileResponse|Response)>
- A promise that resolves to a FileResponse object (if the file is retrieved using the FileSystem API), or a Response object (if the file is retrieved using the Fetch API).
urlOrPath
URL
| string
The URL/path of the file to get.
utils/hub.getModelFile(path_or_repo_id, filename, [fatal], [options]) ⇒ <code> Promise </code>
Retrieves a file from either a remote URL using the Fetch API or from the local file system using the FileSystem API. If the filesystem is available and env.useCache = true
, the file will be downloaded and cached.
Kind: static method of utils/hub
Returns: Promise
- A Promise that resolves with the file content as a buffer.
Throws:
Will throw an error if the file is not found and
fatal
is true.
path_or_repo_id
string
This can be either:
a string, the model id of a model repo on boincai.com.
a path to a directory potentially containing the file.
filename
string
The name of the file to locate in path_or_repo
.
[fatal]
boolean
true
Whether to throw an error if the file is not found.
[options]
PretrainedOptions
An object containing optional parameters.
getModelFile~cacheKey : <code> string </code>
Kind: inner property of getModelFile
getModelFile~response : <code> Response </code> | <code> FileResponse </code> | <code> undefined </code>
Kind: inner property of getModelFile
utils/hub.getModelJSON(modelPath, fileName, [fatal], [options]) ⇒ <code> Promise. < Object > </code>
Fetches a JSON file from a given path and file name.
Kind: static method of utils/hub
Returns: Promise.<Object>
- The JSON data parsed into a JavaScript object.
Throws:
Will throw an error if the file is not found and
fatal
is true.
modelPath
string
The path to the directory containing the file.
fileName
string
The name of the file to fetch.
[fatal]
boolean
true
Whether to throw an error if the file is not found.
[options]
PretrainedOptions
An object containing optional parameters.
utils/hub~FileResponse
Kind: inner class of utils/hub
.updateContentType()
⇒void
.clone()
⇒FileResponse
.arrayBuffer()
⇒Promise.<ArrayBuffer>
.blob()
⇒Promise.<Blob>
.text()
⇒Promise.<string>
.json()
⇒Promise.<Object>
new FileResponse(filePath)
Creates a new FileResponse
object.
filePath
string
| URL
fileResponse._CONTENT_TYPE_MAP
Mapping from file extensions to MIME types.
Kind: instance property of FileResponse
fileResponse.updateContentType() ⇒ <code> void </code>
Updates the ‘content-type’ header property of the response based on the extension of the file specified by the filePath property of the current object.
Kind: instance method of FileResponse
fileResponse.clone() ⇒ <code> FileResponse </code>
Clone the current FileResponse object.
Kind: instance method of FileResponse
Returns: FileResponse
- A new FileResponse object with the same properties as the current object.
fileResponse.arrayBuffer() ⇒ <code> Promise. < ArrayBuffer > </code>
Reads the contents of the file specified by the filePath property and returns a Promise that resolves with an ArrayBuffer containing the file’s contents.
Kind: instance method of FileResponse
Returns: Promise.<ArrayBuffer>
- A Promise that resolves with an ArrayBuffer containing the file’s contents.
Throws:
Error
If the file cannot be read.
fileResponse.blob() ⇒ <code> Promise. < Blob > </code>
Reads the contents of the file specified by the filePath property and returns a Promise that resolves with a Blob containing the file’s contents.
Kind: instance method of FileResponse
Returns: Promise.<Blob>
- A Promise that resolves with a Blob containing the file’s contents.
Throws:
Error
If the file cannot be read.
fileResponse.text() ⇒ <code> Promise. < string > </code>
Reads the contents of the file specified by the filePath property and returns a Promise that resolves with a string containing the file’s contents.
Kind: instance method of FileResponse
Returns: Promise.<string>
- A Promise that resolves with a string containing the file’s contents.
Throws:
Error
If the file cannot be read.
fileResponse.json() ⇒ <code> Promise. < Object > </code>
Reads the contents of the file specified by the filePath property and returns a Promise that resolves with a parsed JavaScript object containing the file’s contents.
Kind: instance method of FileResponse
Returns: Promise.<Object>
- A Promise that resolves with a parsed JavaScript object containing the file’s contents.
Throws:
Error
If the file cannot be read.
utils/hub~FileCache
Kind: inner class of utils/hub
.match(request)
⇒Promise.<(FileResponse|undefined)>
.put(request, response)
⇒Promise.<void>
new FileCache(path)
Instantiate a FileCache
object.
path
string
fileCache.match(request) ⇒ <code> Promise. < (FileResponse|undefined) > </code>
Checks whether the given request is in the cache.
Kind: instance method of FileCache
request
string
fileCache.put(request, response) ⇒ <code> Promise. < void > </code>
Adds the given response to the cache.
Kind: instance method of FileCache
request
string
response
Response
| FileResponse
utils/hub~isValidHttpUrl(string, [validHosts]) ⇒ <code> boolean </code>
Determines whether the given string is a valid HTTP or HTTPS URL.
Kind: inner method of utils/hub
Returns: boolean
- True if the string is a valid HTTP or HTTPS URL, false otherwise.
string
string
| URL
The string to test for validity as an HTTP or HTTPS URL.
[validHosts]
Array.<string>
A list of valid hostnames. If specified, the URL's hostname must be in this list.
utils/hub~handleError(status, remoteURL, fatal) ⇒ <code> null </code>
Helper method to handle fatal errors that occur while trying to load a file from the BOINC AI Hub.
Kind: inner method of utils/hub
Returns: null
- Returns null
if fatal = true
.
Throws:
Error
If `fatal = false`.
status
number
The HTTP status code of the error.
remoteURL
string
The URL of the file that could not be loaded.
fatal
boolean
Whether to raise an error if the file could not be loaded.
utils/hub~tryCache(cache, ...names) ⇒ <code> Promise. < (FileResponse|Response|undefined) > </code>
Kind: inner method of utils/hub
Returns: Promise.<(FileResponse|Response|undefined)>
- The item from the cache, or undefined if not found.
cache
FileCache
| Cache
The cache to search
...names
Array.<string>
The names of the item to search for
utils/hub~readResponse(response, progress_callback) ⇒ <code> Promise. < Uint8Array > </code>
Read and track progress when reading a Response object
Kind: inner method of utils/hub
Returns: Promise.<Uint8Array>
- A Promise that resolves with the Uint8Array buffer
response
any
The Response object to read
progress_callback
function
The function to call with progress updates
utils/hub~pathJoin(...parts) ⇒ <code> string </code>
Joins multiple parts of a path into a single path, while handling leading and trailing slashes.
Kind: inner method of utils/hub
Returns: string
- A string representing the joined path.
...parts
string
Multiple parts of a path.
utils/hub~PretrainedOptions : <code> Object </code>
Options for loading a pretrained model.
Kind: inner typedef of utils/hub
Properties
[quantized]
boolean
true
Whether to load the 8-bit quantized version of the model (only applicable when loading model files).
[progress_callback]
function
If specified, this function will be called during model construction, to provide the user with progress updates.
[config]
Object
Configuration for the model to use instead of an automatically loaded configuration. Configuration can be automatically loaded when:
The model is a model provided by the library (loaded with the model id string of a pretrained model).
The model is loaded by supplying a local directory as
pretrained_model_name_or_path
and a configuration JSON file named config.json is found in the directory.
[cache_dir]
string
null
Path to a directory in which a downloaded pretrained model configuration should be cached if the standard cache should not be used.
[local_files_only]
boolean
false
Whether or not to only look at local files (e.g., not try downloading the model).
[revision]
string
"'main'"
The specific model version to use. It can be a branch name, a tag name, or a commit id, since we use a git-based system for storing models and other artifacts on boincai.com, so revision
can be any identifier allowed by git. NOTE: This setting is ignored for local requests.
[model_file_name]
string
null
If specified, load the model with this name (excluding the .onnx suffix). Currently only valid for encoder- or decoder-only models.
Last updated