hackathon_test / bot-api.md
Elfe's picture
add api doc
1aa5abf

概述

机器人通过 HTTP 接口的形式来提供对话服务,比如:

https://www.my-bot.com/api/v1/chat

机器人只需要实现以下任意一种接口方案,即可申请入驻广场。

[方案一] 标准接口

POST ~/chat (接口地址必须以 chat 结尾)

请求体(JSON):

{ "p": "天空为什么是蓝色的?" }

请求体可能包含如下字段:

字段名 类型 必填 含义 示例 备注
p String 提问内容 '天空为什么是蓝色的?' p 表示 “prompt”
qid String 平台为当前提问分配的唯一标识 'bxqid-cManAtRMszw...' 由平台生成并传递给机器人,以便机器人区分单个问题(写日志、追踪调试、异步回调等)
uid String 用户的唯一标识 'bxuid-Aj8Spso8Xsp...' 由平台生成并传递给机器人,以便机器人区分用户

响应体(JSON):

-{
    "data": {
        "type": "text",	// 也可以是 "markdown"
        "content": "因为..."
    }
}

[方案二] Hugging Face 风格接口

POST https://*.hf.space/run/predict

为方便 Hugging Face 开发者快速接入,特提供本方案。

当机器人提供的接口符合上述模式,平台会自动识别它是一个 Hugging Face 应用。

请求体(JSON):

-{
    "data": [	// 注意:这里 `data` 是一个数组
        "天空为什么是蓝色的?",	// 相当于方案一的 `p` 字段
        "bxqid-cManAtRMszw...",	// 相当于方案一的 `qid` 字段
        "bxuid-Aj8Spso8Xsp..."	// 相当于方案一的 `uid` 字段
    ]
}

响应体(JSON):

-{
    "data": [	// 注意:这里 `data` 是一个数组
        "text",	// 相当于方案一的 `type` 字段
        "因为..."	// 相当于方案一的 `content` 字段
    ]
}