triton 客戶端用https协议访问服务

背景

平时调用模型服务,都是用http+IP的链接调用。但由于笔者环境的特殊性,访问模型必须经过一个https的公网URL,所以,如何用triton client访问https链接成为了一个问题

参考

  • TensorRT&Triton学习笔记(一):triton和模型部署+client

调研

首先,nvidia tritonclient访问url的原理是什么?从infer函数的内容可知,triton client访问服务器是用经典的POST方式访问的,且域名为"v/models/{model_name}/infer"
triton 客戶端用https协议访问服务_第1张图片

主要流程

假如要访问的域名为https://api.aa.com/infer,那么只需要如下代码即可,留意到不需要在url中包含协议名。

url = 'api.aa.com/infer'
triton_client = httpclient.InferenceServerClient(url=url,
                                                     ssl=True,
                                                     insecure=True,
                                                     ssl_context_factory=gevent.ssl._create_unverified_context)

这样设置能在不验证ssl的情况下访问https链接。留意到在程序执行前,我做了如下配置。

os.environ['CURL_CA_BUNDLE'] = ''

你可能感兴趣的:(AI与ML,https,网络协议,http)