Fill-mask
Mask filling is the task of predicting the right word (token to be precise) in the middle of a sequence.
For more details about the fill-mask
task, check out its dedicated page! You will find examples and related materials.
Recommended models
- google-bert/bert-base-uncased: The famous BERT model.
- FacebookAI/xlm-roberta-base: A multilingual model trained on 100 languages.
Explore all available models and find the one that suits you best here.
Using the API
Python
JavaScript
cURL
import requests
API_URL = "https://api-inference.huggingface.co/models/google-bert/bert-base-uncased"
headers = {"Authorization": "Bearer hf_***"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
output = query({
"inputs": "The answer to the universe is [MASK].",
})
To use the Python client, see huggingface_hub
’s package reference.
API specification
Request
Payload | ||
---|---|---|
inputs* | string | The text with masked tokens |
parameters | object | Additional inference parameters for Fill Mask |
top_k | integer | When passed, overrides the number of predictions to return. |
targets | string[] | When passed, the model will limit the scores to the passed targets instead of looking up in the whole vocabulary. If the provided targets are not in the model vocab, they will be tokenized and the first resulting token will be used (with a warning, and that might be slower). |
Some options can be configured by passing headers to the Inference API. Here are the available headers:
Headers | ||
---|---|---|
authorization | string | Authentication header in the form 'Bearer: hf_****' when hf_**** is a personal user access token with Inference API permission. You can generate one from your settings page. |
x-use-cache | boolean, default to true | There is a cache layer on the inference API to speed up requests we have already seen. Most models can use those results as they are deterministic (meaning the outputs will be the same anyway). However, if you use a nondeterministic model, you can set this parameter to prevent the caching mechanism from being used, resulting in a real new query. Read more about caching here. |
x-wait-for-model | boolean, default to false | If the model is not ready, wait for it instead of receiving 503. It limits the number of requests required to get your inference done. It is advised to only set this flag to true after receiving a 503 error, as it will limit hanging in your application to known places. Read more about model availability here. |
For more information about Inference API headers, check out the parameters guide.
Response
Body | ||
---|---|---|
(array) | object[] | Output is an array of objects. |
sequence | string | The corresponding input with the mask token prediction. |
score | number | The corresponding probability |
token | integer | The predicted token id (to replace the masked one). |
token_str | string | The predicted token (to replace the masked one). |