获取机器人回复

根据用户输入的文本消息,机器人理解并做出响应,返回最合适的答复给用户。调用本接口的前提是已经在机器人平台搭建并训练了机器人。


POST /openapi/v1/message

content-type application/json

请求参数:

{
    "sid": "4632847230984",
    "user_id": "current_user_id",
    "text": "你好吗"
}
参数 类型 规则 说明
sid string 必填 会话标识。在多轮对话中[1]需使用相同的会话标识。
user_id string 必填 用户唯一标识。需确保该值与终端用户一一对应。
text string 必填 请求消息文本。

[1]多轮对话,表示在多个对话之间保持上下文共享。使用相同的会话标识表示希望本轮对话处于多轮对话中,使用不同的会话标识则表示处于新会话。

应答结果:

{
    "code": 0,
    "msg": "",
    "result": {
        "cards": [{
            "title": "我很好",
            "list": [{
                "text": "推荐问题1",
                "type": "TextCard",
                "feedback_id": null
            }, {
                "text": "推荐问题2",
                "type": "TextCard",
                "feedback_id": null
            }],
            "type": "TitleListCard",
            "feedback_id": "526d5cad8a6c4b2ca485abc8010333b9"
        }]
    }
}

返回结果为 JSON 字符串,各字段说明如下:

JSON字段 类型 说明
code int 结果代码。(具体见状态码说明)
msg string 详细信息,对接口请求的补充说明。
result object 结果数据。

result 字段说明如下:

JSON字段 类型 说明
cards array 消息卡片。包含至少一条或多条消息卡片的里欸包

cards 字段说明如下:

JSON字段 类型 说明
type string 卡片类型。用于呈现不同的回复结果。
feedback_id string 反馈信息id。用于满意度反馈接口

type 卡片类型说明如下

类型 说明
TextCard 文本卡片
ImageCard 图片卡片
LinkCard 链接卡片
QuickReplyCard 快捷输入卡片
VideotexCard 图文卡片
TitleListCard 标题列表卡片
TitlePictureCard 标题大图列表卡片
MarkdownCard Markdown卡片
SensitiveWorkCard 敏感词卡片
EntityCard 分词卡片
DebugCard 调试信息卡片。包含详细会话上下文信息(仅在调试机器人状态下有效)

不同的卡片类型对应包含不同的数据类型,具体结构说明如下:

  1. TextCard

    纯文本卡片,常见于机器人回复纯文本时。也会存在于其他卡片类型中充当子类型。

    {
        "text": "机器人回复语",
        "type": "TextCard",
        "feedback_id": null
    }
    

  2. ImageCard

    图片卡片,当机器人回复为图片时时。也会存在于其他卡片类型中充当子类型。

    {
        "base64": "data:image/jpeg;base64,/.....",
        "type": "ImageCard",
        "feedback_id": null
    }
    

    base64字段:图片经过base64编码后的字符串。


  3. LinkCard

    链接卡片,用于提供点击打开网页。也会存在于其他卡片类型中充当子类型。

    {
        "text": "打开网页",
        "url": "http://www.aladdingo.com",
        "type": "LinkCard",
        "feedback_id": null
    }
    

  4. QuickReplyCard

    快捷输入卡片,用于提供用户便捷回复功能。

    {
        "options": ["广州", "上海", "北京", "深圳", "杭州"],
        "type": "QuickReplyCard",
        "feedback_id": null
    }
    

    options字段:可供选择字符串列表。


  5. VideotexCard

    图文卡片,包含自定义格式的文本和图片。

    {
        "text": "<p>官网</p><p><a href=\"http://www.aladdingo.com\" rel=\"noopener noreferrer\" target=\"_blank\">链接</a></p>",
        "type": "VideotexCard",
        "feedback_id": null
    }
    

  6. TitleListCard

    标题列表卡片,包含标题、列表及网页链接。

    {
        "title": "标题列表",
        "list": [{
            "text": "列表项",
            "type": "TextCard",
            "feedback_id": null
        }, {
            "text": "官网",
            "url": "http://www.aladdingo.com",
            "type": "LinkCard",
            "feedback_id": null
        }],
        "type": "TitleListCard",
        "feedback_id": null
    }
    

  7. TitlePictureCard

    大图列表卡片,包含图片、标题、列表及网页链接。

    {
     "img": "data:image/jpeg;base64,/....",
        "title": "标题大图",
        "list": [{
            "text": "列表项",
            "type": "TextCard",
            "feedback_id": null
        }, {
            "text": "官网",
            "url": "http://www.aladdingo.com",
            "type": "LinkCard",
            "feedback_id": null
        }],
        "type": "TitlePictureCard",
        "feedback_id": "99e75d22269d41bca2ccabca011e8f59"
    }
    

  8. MarkdownCard

    Markdown卡片,包含Markdown样式的文本。

    {
        "markdown": "### 标题",
        "html": "<h3>标题</h3>",
        "type": "QuickReplyCard",
        "feedback_id": null
    }
    

    markdown字段:markdown格式文本。

    html字段:转换为html格式的文本。


  9. SensitiveWorkCard

    敏感词卡片,当用户输入包含系统中设定敏感词时存在。

    {
        "word": "黄赌毒",
        "type": "SensitiveWordCard",
        "feedback_id": null
    }
    

  10. EntityCard

    实体卡片,用于展示用户输入语句中包含的实体词详情。

    {
        "name": "广州市",
        "entity_type": "内置.中国城市",
        "value": "广州市",
        "type": "EntityCard",
        "feedback_id": null
    }
    

  11. DebugCard

    调试信息卡片,用于在调试机器人中显示与机器人的交互详情。

    {
        "segments": ["广州", "明天", "天气", "如何"],
        "entities": [{
            "text": "广州",
            "start": 1,
            "end": 2,
            "raw_type": null,
            "main_type": "buildin.city",
            "sub_type": "city",
            "extractor": "buildin",
            "values": ["广州"],
            "resolution": {
                "intent": "intent.3ff33cfa217b4ece8717ab8800f072f8",
                "skill": "skill.1d9cd06edf5a494fb7ebab8800f023e0"
            }
        }],
        "qna_best": {
            "hit_question": "吃",
            "standard_question": "吃",
            "score": "100"
        },
        "qna_similars": [{
            "hit_question": "吃什么好",
            "standard_question": "吃什么好",
            "score": "78"
        }, {
            "hit_question": "想吃什么",
            "standard_question": "想吃什么",
            "score": "78"
        }],
        "skill_best": {
            "skill_name": "天气查询",
            "intent_name": "查询指定城市天气",
            "score": "97"
        },
        "skill_similars": [{
            "skill_name": "技能1",
            "intent_name": "意图1",
            "score": "21"
        }],
        "skill_flow": [{
            "skill_name": "天气查询",
            "intent_name": "查询指定城市天气",
            "input_nodes": [],
            "slots": [{
                "Key": "城市",
                "Value": ""
            }],
            "node": "词槽-城市"
        }],
        "type": "DebugCard",
        "feedback_id": null
    }
    

    segments字段:用户输入的语句的分词结果列表。

    entities字段:用户输入的语句中包含的实体词列表。

    qna_best字段:最佳匹配问答(仅一个)。

    ​ hit_question字段:命中的问题。

    ​ standard_question字段:命中问题的标准问法。

    ​ score字段:得分(1~100),越高越匹配。

    qna_similars字段:相似问答列表(一个或多个)。

    skill_best字段:最佳匹配技能(仅一个)。

    ​ skill_name字段:技能名称。

    ​ intent_name字段:意图名称。

    ​ score字段:得分(1~100),越高越匹配。

    skill_similars字段:相似技能列表(一个或多个)。

    skill_flow字段:技能流程进程列表。

    ​ skill_name字段:当前流程技能名称。

    ​ intent_name字段:当前流程意图名称。

    ​ input_nodes字段:当前流程输入节点列表。

    ​ slots字段:当前流程已填充词槽列表。

    ​ node字段:当前流程活跃节点名称。


Copyright © AladdinGo 2023 all right reserved,powered by Gitbook发布时间: 2023-01-09 09:59:28

results matching ""

    No results matching ""