AI开发平台MODELARTS-通过Token认证的方式访问在线服务:方式三:使用Python语言发送预测请求

时间:2024-08-16 20:39:15

方式三:使用Python语言发送预测请求

  1. 下载Python SDK并在开发工具中完成SDK配置。具体操作请参见在Python环境中集成API请求签名的SDK
  2. 创建请求体,进行预测请求。
    • 输入为文件格式
      # coding=utf-8
      
      import requests
      
      if __name__ == '__main__':
          # Config url, token and file path.
          url = "在线服务的调用地址"
          token = "用户Token"
          file_path = "预测文件的本地路径"
      
          # Send request.
          headers = {
              'X-Auth-Token': token
          }
          files = {
              'images': open(file_path, 'rb')
          }
          resp = requests.post(url, headers=headers, files=files)
      
          # Print result.
          print(resp.status_code)
          print(resp.text)

      “files”中的参数名由在线服务的输入参数决定,需要和“类型”“file”的输入参数“名称”保持一致。以前提条件里获取的文件预测输入参数“images”为例。

    • 输入为文本格式(json类型)

      读取本地预测文件并进行base64编码的请求体示例如下:

      # coding=utf-8
      
      import base64
      import requests
      
      if __name__ == '__main__':
          # Config url, token and file path
          url = "在线服务的调用地址"
          token = "用户Token"
          file_path = "预测文件的本地路径"
          with open(file_path, "rb") as file:
              base64_data = base64.b64encode(file.read()).decode("utf-8")
      
          # Set body,then send request
          headers = {
              'Content-Type': 'application/json',
              'X-Auth-Token': token
          }
          body = {
              'image': base64_data
          }
          resp = requests.post(url, headers=headers, json=body)
      
          # Print result
          print(resp.status_code)
          print(resp.text)

      “body”中的参数名由在线服务的输入参数决定,需要和“类型”“string”的输入参数“名称”保持一致。以前提条件里获取的文本预测输入参数“image”为例。“body”中的base64_data值为string类型。

support.huaweicloud.com/usermanual-standard-modelarts/inference-modelarts-0023.html