参数扩展#
本文档描述了 Triton 的参数扩展。参数扩展允许推理请求提供不能作为输入提供的自定义参数。由于支持此扩展,Triton 在其服务器元数据的扩展字段中报告“parameters”。此扩展在 HTTP 和 GRPC 中使用了 KServe 协议中的可选“parameters”字段。
以下参数为 Triton 保留使用,不应用作自定义参数
sequence_id
priority
timeout
sequence_start
sequence_end
headers
所有以
"triton_"
前缀开头的键。以下是一些今天使用的示例"triton_enable_empty_final_response"
请求参数"triton_final_response"
响应参数
当同时使用 GRPC 和 HTTP 端点时,您需要确保不使用保留参数列表,以避免意外行为。保留参数在 Triton C-API 中不可访问。
HTTP/REST#
以下示例展示了请求如何包含自定义参数。
POST /v2/models/mymodel/infer HTTP/1.1
Host: localhost:8000
Content-Type: application/json
Content-Length: <xx>
{
"parameters" : { "my_custom_parameter" : 42 }
"inputs" : [
{
"name" : "input0",
"shape" : [ 2, 2 ],
"datatype" : "UINT32",
"data" : [ 1, 2, 3, 4 ]
}
],
"outputs" : [
{
"name" : "output0",
}
]
}
GRPC#
ModelInferRequest 消息中的 parameters
字段可用于发送自定义参数。
将 HTTP/GRPC 标头作为参数转发#
Triton 可以将 HTTP/GRPC 标头作为推理请求参数转发。通过在 --http-header-forward-pattern
和 --grpc-header-forward-pattern
中指定正则表达式,Triton 将添加与正则表达式匹配的标头作为请求参数。所有转发的标头都将作为字符串值的参数添加。例如,要转发所有以 'PREFIX_' 开头的 HTTP 和 GRPC 标头,您应该将 --http-header-forward-pattern PREFIX_.* --grpc-header-forward-pattern PREFIX_.*
添加到您的 tritonserver
命令。
默认情况下,根据 HTTP 协议,正则表达式模式以不区分大小写的模式匹配标头。如果您想强制执行区分大小写的模式,只需添加 (?-i)
前缀即可关闭不区分大小写的模式,例如 --http-header-forward-pattern (?-i)PREFIX_.*
。请注意,通过 Python HTTP 客户端发送的标头可能会被内部客户端库自动转换为小写。
转发的标头可以使用 Python 或 C 后端 API 作为推理请求参数访问。