背景
平时调用模型服务,都是用http+IP的链接调用。但由于笔者环境的特殊性,访问模型必须经过一个https的公网URL,所以,如何用triton client访问https链接成为了一个问题
参考
- TensorRT&Triton学习笔记(一):triton和模型部署+client
调研
首先,nvidia tritonclient访问url的原理是什么?从infer函数的内容可知,triton client访问服务器是用经典的POST方式访问的,且域名为"v/models/{model_name}/infer"
。
主要流程
假如要访问的域名为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'] = ''