快速开始-离线使用你的模型
REST API 端点
平台提供了对外的REST API调用服务,此接口链接可以在发布模型>操作>复制REST API找到
输入数据格式
JSON序列化后的Panda DataFrame结构。格式化为split。如:
data = pandas_df.to_json(orient='split')
使用请求标头Content-Type: application/json
JSON序列化后的Panda DataFrame结构。格式化为records。我们不建议使用此格式,因为不能保证保留数据列的顺序。使用请求标头
Content-Type: application/json; format=pandas-records
Csv序列化后的Panda DataFrame结构。如
data = pandas_df.to_csv()
使用请求标头Content-Type: text/csv
[注] DataFrame是Python中Pandas库中的一种数据结构,它含有不同的列,每列可以是不同的数据类型。它类似excel,是一种二维表。更多说明信息,请参考 pandas.DataFrame.to_json
最佳实践
CURL调用示例
# split-oriented
curl http://<hostname>/api/rest/model/predict/<service_key> -H 'Content-Type: application/json' -d '{"data":{
"columns": ["a", "b", "c"],
"data": [[1, 2, 3], [4, 5, 6]]
}}'
# record-oriented (fine for vector rows, loses ordering for JSON records)
curl http://<hostname>/api/rest/model/predict/<service_key> -H 'Content-Type: application/json; format=pandas-records' -d '"data":{[
{"a": 1,"b": 2,"c": 3},
{"a": 4,"b": 5,"c": 6}
]}'
Postman调用示例
请求链接: http://<hostname>/api/rest/model/predict/<service_key>/
请求数据:
{"data": {
"columns": [
"x"
],
"data": [
[199],
[12]
]
}}
请求表头:Content-Type:application/json
Python调用示例
url = "http://<hostname>/api/rest/model/predict/<service_key>/"
data = {"data": {
"columns": [
"x_value"
],
"data": [
[199], [12]
]
}}
model_input = pd.DataFrame(data)
res = requests.post(url=url, data=model_input.to_json(), headers={"Content-Type": "application/json"}, timeout=12)
print(res.json())
返回
{'code': 200, 'data': [[399.0], [25.0]], 'message': ''}
图片转base64调用
import base64
import requests
import pandas as pd
pic = open("img.jpg", "rb")
img = base64.b64encode(pic.read())
data = {"data": {
"columns": [
"1"
],
"data": [
[img]
]
}}
model_input = pd.DataFrame(data)
res = requests.post(url=url, data=model_input.to_json(), headers={"Content-Type": "application/json"}, timeout=12)