做一个小东西的时候需要用python和这个接口,使用的时候遇到了一些坑,于是记录一下。本文只记录接入API时候的一些简单坑,更多使用技巧没有说到。


介绍

图灵机器人是以语义技术为核心驱动力的人工智能公司(一大堆内容可百度。),简单来说就是一个优秀的智能机器人接口,可以实现的功能有:中文聊天,情感引擎等。

PS:部分功能是需要收费的,笑。

图灵机器人本身已经有了较为成熟的接入市场的方式,比如微信公众号,甚至个人微信号,QQ都有较为简单的使用方式,同时,他也提供功能强大的API,本文是利用API接入的方式,用Ppython+requests+post搞定。

工具推荐

  • postman  用于发送http请求测试回复等,非常高效好用

流程

第一步:注册and新建机器人然后获取APIKEY(官方文档)

TuringRobot 官方给出了详细的Web API-帮助中心 ,使用流程中包含注册账号,获取APIKEY,请求方式等详细信息,最初开发者在使用的时候不妨详细阅读此卡发文档。

文档内有详细说明。

第二步:你需要的工具

  • python基础包

  • requests的包

pip install requests
  • json包

第三步:

代码:

import requests
import jsondef get_response(msg):api = 'http://openapi.tuling123.com/openapi/api/v2'#为什么要以下格式,可以参看api文档dat = {"perception": {"inputText": {"text": msg},"inputImage": {"url": "imageUrl"},"selfInfo": {"location": {"city": "北京","province": "北京","street": "信息路"}}},#userinfo部分的内容可以在图灵机器人自己的机器人网页查看apikey,我在此处做了隐藏#userid官方说明是用户唯一标示,但目前所见是随便填写即可,我填写了我的机器人的名字"userInfo": {"apiKey": KEY,"userId": "fool"}}dat = json.dumps(dat)r = requests.post(api, data=dat).json()#以下为r的内容#{'emotion': {'userEmotion': {'emotionId': 10300, 'd': 0, 'p': 0, 'a': 0},#              'robotEmotion': {'emotionId': 0, 'd': 0, 'p': 0, 'a': 0}},#  'intent': {'code': 10004, 'actionName': '', 'intentName': ''},# 'results': [{'resultType': 'text', 'values': {'text': '别兴奋别兴奋,很高兴认识你!'}, 'groupType': 1}]}mesage = r['results'][0]['values']['text']print(r['results'][0]['values']['text'])return mesage
  • KEY为apikey的字符串,在你的机器人那里能找到。
  • api链接为http://openapi.tuling123.com/openapi/api/v2,第一版为http://openapi.tuling123.com/openapi/api

V1版的教程比较多,V2版比较少,这导致我第一次写的时候data写的第一版的格式而失败多次。

V2版格式原版参考:

https://www.kancloud.cn/turing/www-tuling123-com/718227

文档原版,下面来自文档复制内容。

编码方式

UTF-8(调用图灵API的各个环节的编码方式均为UTF-8)

接口地址

http://openapi.tuling123.com/openapi/api/v2

请求方式

HTTP POST

请求参数

请求参数格式为 json

此条表示需要转化为json来使用。

使用:

json.dumps()

语句实现将表单转化为json格式。

例如表单:

 dat = {"perception": {"inputText": {"text": msg},"inputImage": {"url": "imageUrl"},"selfInfo": {"location": {"city": "北京","province": "北京","street": "信息路"}}},"userInfo": {"apiKey": KEY,"userId": "fool"}}

转化方式:

dat = json.dumps(dat)

请求示例:

{"reqType":0,"perception": {"inputText": {"text": "附近的酒店"},"inputImage": {"url": "imageUrl"},"selfInfo": {"location": {"city": "北京","province": "北京","street": "信息路"}}},"userInfo": {"apiKey": "","userId": ""}
}

参数说明

参数 类型 是否必须 取值范围 说明
reqType int N - 输入类型:0-文本(默认)、1-图片、2-音频
perception - Y - 输入信息
userInfo - Y - 用户参数

perception

参数 类型 是否必须 取值范围 说明
inputText - N - 文本信息
inputImage - N - 图片信息
inputMedia - N - 音频信息
selfInfo - N - 客户端属性

注意:输入参数必须包含inputText或inputImage或inputMedia!

inputText

参数 类型 是否必须 取值范围 说明
text String Y 1-128字符 直接输入文本

inputImage

参数 类型 是否必须 取值范围 说明
url String Y   图片地址

inputMedia

参数 类型 是否必须 取值范围 说明
url String Y   音频地址

selfInfo

参数 类型 是否必须 取值范围 说明
location - N - 地理位置信息

location

参数 类型 是否必须 取值范围 说明
city String Y - 所在城市
province String N - 省份
street String N - 街道

userInfo

参数 类型 是否必须 取值范围 说明
apiKey String Y 32位 机器人标识
userId String Y 长度小于等于32位 用户唯一标识
groupId String N 长度小于等于64位 群聊唯一标识
userIdName String N 长度小于等于64位 群内用户昵称

输出参数

输出示例:

  {"intent": {"code": 10005,"intentName": "","actionName": "","parameters": {"nearby_place": "酒店"}},"results": [{"groupType": 1,"resultType": "url","values": {"url": "http://m.elong.com/hotel/0101/nlist/#indate=2016-12-10&outdate=2016-12-11&keywords=%E4%BF%A1%E6%81%AF%E8%B7%AF"}},{"groupType": 1,"resultType": "text","values": {"text": "亲,已帮你找到相关酒店信息"}}]
}

参数说明

参数 类型 是否必须 取值范围 说明
intent - Y - 请求意图
results - N - 输出结果集

intent

参数 类型 是否包含 取值范围 说明
code int Y - 输出功能code
intentName String N - 意图名称
actionName String N - 意图动作名称
parameters Map N - 功能相关参数

results

参数 类型 是否包含 取值范围 说明
resultType String Y 文本(text);连接(url);音频(voice);视频(video);图片(image);图文(news) 输出类型
values - Y - 输出值
groupType int Y - ‘组’编号:0为独立输出,大于0时可能包含同组相关内容 (如:音频与文本为一组时说明内容一致)

异常返回码

异常返回格式

{'intent':{'code':5000}
}

异常返回说明

异常码 说明
5000 无解析结果
6000 暂不支持该功能
4000 请求参数格式错误
4001 加密方式错误
4002 无功能权限
4003 该apikey没有可用请求次数
4005 无功能权限
4007 apikey不合法
4100 userid获取失败
4200 上传格式错误
4300 批量操作超过限制
4400 没有上传合法userid
4500 userid申请个数超过限制
4600 输入内容为空
4602 输入文本内容超长(上限150)
7002 上传信息失败
8008 服务器错误
0 上传成功

【图灵机器人】图灵机器人API V2版使用采坑指南相关推荐

  1. MacBook通过XGP玩女神异闻录5皇家版不踩坑指南

    XGP是微软Xbox游戏通行证服务,全称Xbox Game Pass,俗称西瓜皮. 女神异闻录5皇家版(P5R)登录了全平台,XGP会员可以通过云游戏在MacBook中游玩,本篇为MacBook玩P5 ...

  2. 亚马逊广告api v2版php扩展库

    概述 easy-amazon-advertising easy-amazon-advertising 是一个开源的非官方的亚马逊广告业务sdk. 环境需求 easy-amazon-advertisin ...

  3. Goolg Maps android API V2版详解(一)配置eclipse得到map包

    前段时间学习使用googleMap,结果按照各种书上的代码敲进去,申请完KEY,结果发现地图还是用不了,纠结了一个月,然后之前的某一天,我突然发现,google把mapV1版本停用了,不能申请V!版本 ...

  4. Goolg Maps android API V2版详解(二)新地图get~

    直接上代码吧~~~不废话了,你一看就懂的~~ package com.example.googlemapv2; import android.os.Bundle; import android.sup ...

  5. epub 机器人系列 阿西莫夫_机器人帝国系列1:阿西莫夫宇宙入坑指南

    "机器人三定律"想必很多人不陌生,尤其在频繁讨论人工智能的当下,究竟人工智能的发展是文明的进阶还是自灭的陷阱,争论的焦点就是"机器人是否可控".2004年由威尔 ...

  6. 腾讯广点通广告投放-转化归因API回传接口对接踩坑指南

    对于腾讯广点通广告平台的文档,实在是忍不住要吐槽一番.本来接收到回传接口文档,看到给的PDF文档没有备注说明,但是看到回传方式,挺简单的.以为一下就能搞定了,但是对接下来才发现,各个字段根本不知道什么 ...

  7. 微信公众号图灵机器人开发php,使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人...

    使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人. 代码下载:http://blog.y ...

  8. 图灵学院python_Python——利用图灵创建聊天机器人

    前几天在开始接触微信公众号,想做一个类似于QQ小冰的聊天机器人,QQ小冰的技术支持是微软小冰,所以最开始想用微软小冰的API,但是由于前面做测颜值功能的时候用到了微软小冰的接口,本着多尝试的心理,最终 ...

  9. python图灵_python图灵机器人

    时间过得好快,不知不觉中又迎来落叶知秋的季节,秋风习习,送走了夏的酷热,迎来了秋的清爽.我感叹这个季节的到来,怕秋天的落叶,怕凄凉的孤雁南飞的景象,怕这恼人的秋风把我吹迷失在这个伤感的季节.伤感??? ...

最新文章

  1. PHP获取IP地址所在的地理位置
  2. (十)数据结构之“堆”
  3. 京东上市了,员工有多少股票? .
  4. linux 日志 \var\log
  5. jsp隐式对象_JSP隐式对象
  6. 2021-07-01数组和对象循环
  7. 蓝桥杯省赛2016年Java组B组
  8. 2021年中国物流科技行业投融资现状及未来发展前景分析[图]
  9. 破解防复制防刻录光盘
  10. 2023南京航空航天大学计算机考研信息汇总
  11. java的运行环境是什么_Java运行环境是什么
  12. 使用属性在 ASP.NET Web API 2 路由创建一个 REST API
  13. 初识hellow world
  14. java 快速导出源代码工具 申请软件著作权
  15. PCB做SET连片,转批量时发现利用率非常低,有遇到过吗?
  16. 多模态深度学习综述:网络结构设计和模态融合方法汇总
  17. 计算机主机恢复上电检查,电脑故障维修判断指导总结
  18. tplink无线网卡的linux,Ubuntu 13.10 使用 TP-LINK TL-WN725N v2.0
  19. 嵌入式系统与通用计算机系统的区别,嵌入式操作系统和通用计算机系统两者有什么不同之处...
  20. 19朵玫瑰花的花语-教你简单玫瑰花的折法

热门文章

  1. 什么样的微信头像最撩人?
  2. IAM统一身份认证服务
  3. ionic3 css判断设备,第十三讲 ionic css布局介绍
  4. Windows起一个Docker镜像——起起起起起~不~来~
  5. Excel 插件使用教程
  6. 浣熊优化算法(COA)(含MATLAB代码)
  7. 再谈OT算法的协同文档制作的底层基础架构记录
  8. Hadoop 之Mong DB 之CentOS 6 使用 yum 安装MongoDB及服务器端配置
  9. 小公司一个人如何进行测试
  10. 你也可以是天才,心有多大,舞台就有多大