### 3.1.2 用户知识图谱 #### (1) 功能说明 1、用户通过`我是你的主人我叫吴彦祖`对话引导,让机器人记忆自己的姓名。设置完成后,询问`我是谁`机器人即可回答`你是我的主人吴彦祖`,则完成设置;如果需要更改记忆的信息,则告诉机器人`忘记主人`清除记忆,重新设置。 2、用户通过`当我说XX的时候你就说YY`的对话来训练机器人像自己一样说话,甚至让机器人达到学习新知识的目的。问答训练完成后立即生效。如果要让机器人忘掉所学的东西,则告诉他`忘记对话`可删除全部训练数据。 #### (2) 接口说明 **请求方法** * POST **请求地址** * http://api.ruyi.ai/v1/message **请求参数说明** 参数名| 参数类型|是否必须|参数说明 ---|---|---|--- q | string|是|自然语言表达,例如"指南针是谁发明的"等 app_key| string|是|应用开发者秘钥,注册开发者后台账号,建立虚拟助理后获得 user_id |string|是|用户唯一标识,便于支持个性化语义解析。建议开发者使用 UUID 字符,且不同用户必须用不同的 user_id,防止意图串。 #### (3) 返回说明 **返回参数说明** 名称| 类型| 说明 ---|---|---|--- code| Integer |返回代码 msg |String |返回代码描述 parameters| JSON Object| 解析到的实体以及服务说明 action| String| 服务的接口名称 name| String |匹配的意图名称 result| JSON Object |接口返回内容 outputs |Array| 服务输出结果,微信端使用 type 类型为 wechat 开头的内容;硬件端收到所有内容,依据需求解析使用 **返回代码说明** 返回代码| 错误类型| 说明 ---|---|---|--- 0/200| 成功| 请求成功 400 |无效请求| 某些必需参数缺失或参数值错误,详见msg字段 401 |未授权 |授权失败,app_key缺失或错误 403 |请求被禁止| 有效请求,但服务拒绝响应,请联系contact@ruyi.ai 408 |请求超时| 请求响应超时,一般响应时间设置为2000ms以内 429 |短时间内大量访问| 短时间内请求数过多 500 |内部错误 |服务处理异常 503 |服务不可用| 服务异常或正在维护 #### (4) 请求示例 **请求范例** _我是谁_ *我是你的主人,我叫丸子* *你的主人是谁* *当我说哟哟的时候,你说切客闹* **请求示例** * http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=我是你的主人,我叫丸子 返回结果 ``` { "_text": "我是你的主人,我叫丸子", "msg_id": "32232061-e000-42dd-ba3a-56b60d49e8d2", "intents": [{ "parameters": { "type": "ruyi-customized-user-info", "upsert": "true", "master": "丸子", "item_status": "VALID", "service": "memory" }, "action": "sys.action.item/update", "name": "姓名_我是你的主人,我叫xx", "result": { "updated_item": { "_id": "6ac1718f-cb3e-4f00-b996-ee511a3f17c5", "type": "ruyi-customized-user-info", "master": "丸子", "item_status": "VALID", "service": "memory", "appId": "2013efe4-0f8e-423e-848c-be31f9f54396", "userId": "1487232964983", "updated_time": 1487234439755, "created_time": 1487234439755 }, "msg": "ok", "text": "哦~~ 那我以后就叫你丸子了,可以吗", "type": "dialog" }, "outputs": [{ "type": "wechat.text", "property": { "text": "哦~~ 那我以后就叫你丸子了,可以吗" } }, { "type": "dialog", "property": { "text": "哦~~ 那我以后就叫你丸子了,可以吗", "emotion": "suspect" } }], "score": "1.0", "scoreColor": "c4", "is_match": 1, "id": "0aec4575-cfbc-426a-b32e-53ae6710ff19" }], "meta_process_milliseconds": 73 } ``` **详细参数说明** 名称|类型|说明 ---|---|---|--- service|string|服务名称 master|string|用户姓名 question|string|训练机器人对话之提问 answer|string|训练机器人对话之回答