要求¶
要将 Pinferencia 的前端用于您的模型,您的模型的预测功能有一些要求。
模板¶
目前,模板的输入和输出主要有两大类。其它类型的输入输出(例如音频和视频),会在后续陆续支持。
基本模板¶
| 模板 | 输入 | 输出 | 
|---|---|---|
| 文本转文本 | 文本 | 文本 | 
| 文本转图片 | 文本 | 图片 | 
| 图片转文本 | 图片 | 文本 | 
| 相机输入转文本 | 图片 | 文本 | 
| 图像转图像 | 图片 | 图片 | 
| 相机输入转图像 | 图片 | 图片 | 
便捷模板¶
| 模板 | 输入 | 输出 | 
|---|---|---|
| 翻译 | 文本 | 文本 | 
| 图像分类 | 图片 | 文本 | 
| 图像风格转移 | 图片 | 图片 | 
输入¶
根据请求的模式,前端可以将输入解析为列表或简单的单个字符串。
!!! 信息“定义架构” 关于如何定义请求和响应的架构,请访问如何定义您的服务的请求和响应的Schema?
如果将请求的schema定义为列表,例如 List[str],或者就是 list:
- predict 函数必须能够接受一个数据列表作为输入。
- 对于文本输入,输入将是一个字符串列表。
- 对于图像输入,输入将是代表 base64 编码图像的字符串列表。
否则,
- predict 函数必须能够接受单个数据作为输入。
- 对于文本输入,输入将是单个字符串。
- 对于图像输入,输入将是表示 base64 编码图像的单个字符串。
输出¶
如果将响应schena定义为列表,例如 List[str],或者就是 list:
- predict 函数必须产生一个数据列表作为输出。
- 对于文本输出,输出必须是一个文本列表。
- 对于图像输出,输出必须是代表base64编码图像的字符串列表。
否则,
- predict 函数必须产生单个数据作为输出。
- 对于文本输出,输出应该是单个字符串。
- 对于图像输出,输出应该是代表base64编码图像的单个字符串。
文本输出
前端将尝试将文本输出解析为表格、json 或纯文本。
如果输出类似于以下:
如果响应的格式是一个列表
 [
    [
        {"a":1,"b":2},
        {"a":3,"b":4},
        {"a":5,"b":6}
    ]
]
或者
json title="如果响应的格式不是列表" [ {"a": 1, "b": 2}, {"a": 3, "b": 4}, {"a": 5, "b": 6} ]
它将显示为表格。
如果输出类似于以下:
```json title="如果响应的模式是一个列表" [ "Text output." ]
or
```json title="如果响应的模式不是列表"
"Text output."
它将显示为文本。
所有其他格式的输出都将显示为 JSON。
例如,
[
    [
        {"a": 1, "b": 2},
        1,
        "a"
    ]
]
或者
{
    "a": 1,
    "b": 2
}