小爱同学技能配置指南

本文档介绍如何在小米小爱开放平台配置 MBE 技能。

平台信息

项目 信息
开放平台 https://developers.xiaoai.mi.com/
文档中心 https://xiaoai.mi.com/documents/Home
账号要求 小米账号(建议使用企业账号)

MBE 端点配置

配置项
Webhook URL https://mbe.hi-maker.com/api/xiaoai/skill
调试页面 https://mbe.hi-maker.com/api/xiaoai/debug
本地测试 http://localhost:8000/api/xiaoai/skill

配置步骤

1. 登录小爱开放平台

  1. 访问 https://developers.xiaoai.mi.com/
  2. 使用小米账号登录
  3. 完成开发者认证(需要实名认证)

2. 创建技能

  1. 进入「技能开发」→「创建技能」
  2. 填写技能基本信息:
    • 技能名称: 米塞斯智能助手
    • 技能类型: 自定义技能
    • 调用名称: 米塞斯 / 智能助手
    • 技能描述: 提供法律咨询、生活助手等智能服务

3. 配置服务端点

  1. 进入「服务配置」
  2. 选择「HTTPS 自定义接入」
  3. 配置 Webhook:
    • 服务地址: https://mbe.hi-maker.com/api/xiaoai/skill
    • 请求方式: POST
    • 超时时间: 5000ms

4. 配置意图

  1. 进入「语料配置」→「意图管理」

  2. 创建意图:

    • 意图名称: mises_qa
    • 意图描述: 米塞斯智能问答
  3. 添加语料示例:

    离婚需要什么手续
    租房合同需要注意什么
    劳动仲裁怎么申请
    今天天气怎么样
    帮我查一下法律问题
    我想咨询律师
    
  4. 配置槽位(可选):

    • query: 用户问题内容

5. 测试技能

在线测试

  1. 进入「测试」页面
  2. 输入测试语句
  3. 验证返回结果

本地调试

访问调试页面: https://mbe.hi-maker.com/api/xiaoai/debug

命令行测试

python test_xiaoai.py

6. 发布上线

  1. 完成所有测试
  2. 提交审核
  3. 等待审核通过
  4. 上线发布

请求/响应格式

请求格式

{
  "version": "1.0",
  "query": "用户说的话",
  "session": {
    "session_id": "会话ID",
    "application": {"app_id": "应用ID"},
    "user": {"user_id": "用户ID"}
  },
  "request": {
    "type": 1,
    "request_id": "请求ID",
    "timestamp": 1234567890000,
    "locale": "zh-CN",
    "intent": {
      "query": "用户说的话",
      "name": "意图名称"
    }
  }
}

请求类型 (type):

  • 0: 技能启动请求
  • 1: 意图请求(正常对话)
  • 2: 会话结束请求

响应格式

{
  "version": "1.0",
  "session": {
    "session_id": "会话ID"
  },
  "response": {
    "open_mic": true,
    "to_speak": {
      "type": 0,
      "text": "语音播报内容"
    },
    "to_display": {
      "type": 0,
      "text": "屏幕显示内容"
    }
  },
  "is_session_end": false
}

响应字段说明:

  • open_mic: 是否保持麦克风开启继续对话
  • to_speak.text: 语音播报的文本
  • to_display.text: 带屏设备显示的文本
  • is_session_end: 是否结束当前会话

性能指标

指标 要求 实际
响应时间 < 5秒 1.6-2.5秒
成功率 > 95% > 99%
超时率 < 5% < 1%

常见问题

Q: 技能无响应

  1. 检查 Webhook URL 是否正确
  2. 确认 MBE 服务正在运行
  3. 查看 Cloudflare Tunnel 状态

Q: 响应超时

  1. 确认网络连接正常
  2. 检查 MBE 服务日志
  3. 验证专家知识库是否已预热

Q: 返回内容不准确

  1. 检查意图配置是否正确
  2. 确认语料覆盖目标场景
  3. 查看专家匹配日志

调用示例

Python 测试

import requests
import uuid
import time

url = "https://mbe.hi-maker.com/api/xiaoai/skill"

payload = {
    "version": "1.0",
    "query": "离婚需要什么手续",
    "session": {
        "session_id": f"test-{uuid.uuid4()}",
        "application": {"app_id": "test"},
        "user": {"user_id": "test-user"}
    },
    "request": {
        "type": 1,
        "request_id": f"req-{uuid.uuid4()}",
        "timestamp": int(time.time() * 1000),
        "locale": "zh-CN",
        "intent": {
            "query": "离婚需要什么手续",
            "name": "mises_qa"
        }
    }
}

resp = requests.post(url, json=payload, timeout=10)
data = resp.json()
print(data["response"]["to_speak"]["text"])

cURL 测试

curl -X POST https://mbe.hi-maker.com/api/xiaoai/skill \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "query": "离婚需要什么手续",
    "session": {
      "session_id": "test-session",
      "application": {"app_id": "test"},
      "user": {"user_id": "test"}
    },
    "request": {
      "type": 1,
      "request_id": "test-req",
      "timestamp": 1234567890000,
      "intent": {"query": "离婚需要什么手续", "name": "mises_qa"}
    }
  }'

相关文档