请求的序列化与反序列化
Hugging Face 推理端点配备了一个默认的服务容器,用于所有支持的 Transformers 和 Sentence-Transformers 任务以及自定义推理处理程序。服务容器根据请求的content-type
和accept
头处理请求和响应有效负载的序列化和反序列化。这意味着,当您发送一个带有 JSON 主体和content-type: application/json
头的请求时,服务容器会将 JSON 有效负载反序列化为 Python 字典并将其传递给推理处理程序;如果您发送一个带有accept: image/png
头的请求,服务容器会将任务/自定义处理程序的响应序列化为图像。
以下是支持的content-types
列表以及传递给推理处理程序的反序列化有效负载。
Content-Type | 有效负载 |
---|---|
application/json | 字典 |
text/csv | 原始数据 |
text/plain | 原始数据 |
image/png | 二进制数据 |
image/jpeg | 二进制数据 |
image/jpg | 二进制数据 |
image/tiff | 二进制数据 |
image/bmp | 二进制数据 |
image/gif | 二进制数据 |
image/webp | 二进制数据 |
image/x-image | 二进制数据 |
audio/x-flac | {"inputs": bytes(body)} |
audio/flac | {"inputs": bytes(body)} |
audio/mpeg | {"inputs": bytes(body)} |
audio/x-mpeg-3 | {"inputs": bytes(body)} |
audio/wave | {"inputs": bytes(body)} |
audio/wav | {"inputs": bytes(body)} |
audio/x-wav | {"inputs": bytes(body)} |
audio/ogg | {"inputs": bytes(body)} |
audio/x-audio | {"inputs": bytes(body)} |
audio/webm | {"inputs": bytes(body)} |
audio/webm;codecs=opus | {"inputs": bytes(body)} |
audio/AMR | {"inputs": bytes(body)} |
audio/amr | {"inputs": bytes(body)} |
audio/AMR-WB | {"inputs": bytes(body)} |
audio/AMR-WB+ | {"inputs": bytes(body)} |
audio/m4a | {"inputs": bytes(body)} |
audio/x-m4a | {"inputs": bytes(body)} |
以下是支持的accept
头列表以及返回的序列化有效负载。
Accept | 有效负载 |
---|---|
application/json | JSON |
text/csv | 原始数据 |
text/plain | 原始数据 |
image/png | 二进制数据 |
image/jpeg | 二进制数据 |
image/jpg | 二进制数据 |
image/tiff | 二进制数据 |
image/bmp | 二进制数据 |
image/gif | 二进制数据 |
image/webp | 二进制数据 |
image/x-image | 二进制数据 |