api-inference 文档

问答

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验的访问权限

开始

问答

问答模型可以从给定的文本中检索问题的答案,这对于在文档中搜索答案很有用。

有关 question-answering 任务的更多详细信息,请查看其 专用页面!您将找到示例和相关材料。

推荐模型

探索所有可用的模型并找到最适合您的模型 这里.

使用 API

Python
JavaScript
cURL
import requests

API_URL = "https://api-inference.huggingface.co/models/deepset/roberta-base-squad2"
headers = {"Authorization": "Bearer hf_***"}

def query(payload):
	response = requests.post(API_URL, headers=headers, json=payload)
	return response.json()
	
output = query({
	"inputs": {
	"question": "What is my name?",
	"context": "My name is Clara and I live in Berkeley."
},
})

要使用 Python 客户端,请参阅 huggingface_hub包参考.

API 规范

请求

有效负载
inputs* object 一对要回答的(上下文、问题)。
        context* string 用于回答问题的上下文。
        question* string 要回答的问题。
parameters object 问答的额外推理参数
        top_k integer 要返回的答案数量(将按可能性顺序选择)。请注意,如果上下文中没有足够的选项可用,我们将返回少于 topk 个答案。
        doc_stride integer 如果上下文太长而无法与问题一起适合模型,它将被分成几个具有重叠的部分。此参数控制重叠的大小。
        max_answer_len integer 预测答案的最大长度(例如,仅考虑长度较短的答案)。
        max_seq_len integer 传递给模型的每个块中总句子(上下文 + 问题)的标记最大长度。如果需要,上下文将被分成几个块(使用 docStride 作为重叠)。
        max_question_len integer 标记化后问题的最大长度。如果需要,将进行截断。
        handle_impossible_answer 布尔值 是否接受不可能的答案。
        align_to_words 布尔值 尝试将答案与真实词语对齐。提高了对空格分隔语言的质量。可能会影响非空格分隔语言(如日语或中文)。

一些选项可以通过向推理 API 传递标头进行配置。以下是可用的标头

标头
authorization string 身份验证标头,格式为 'Bearer: hf_****',其中 hf_**** 是具有推理 API 权限的个人用户访问令牌。您可以在 您的设置页面 生成一个。
x-use-cache 布尔值,默认值为 true 推理 API 上有一个缓存层,可以加速我们已经见过的请求。大多数模型可以使用这些结果,因为它们是确定性的(这意味着输出将始终相同)。但是,如果您使用非确定性模型,您可以将此参数设置为阻止使用缓存机制,从而导致真正的全新查询。阅读有关缓存的更多信息 此处
x-wait-for-model 布尔值,默认值为 false 如果模型未准备就绪,则等待它,而不是接收 503。它限制了完成推理所需的请求次数。建议仅在收到 503 错误后才将此标志设置为 true,因为它将限制应用程序中已知位置的挂起。阅读有关模型可用性的更多信息 此处

有关推理 API 标头的更多信息,请查看参数 指南

响应

主体
(数组) object[] 输出是一个对象数组。
        answer string 问题的答案。
        score 数字 与答案相关的概率。
        start integer 答案在输入中开始的字符位置。
        end integer 答案在输入中结束的字符位置。
< > 更新 在 GitHub 上