这篇文章在 2020年02月15日16:05:30 更新了哦~
在聊天机器人中,微软小冰可以说是比较有特色的了。然而不友好的一点是微软小冰并没有开放给公众的API。上网搜一搜,也并没没有真正好用的API!所以本萌新只好自己动手,丰衣足食了。
(可惜图灵机器人要咱上传手持身份证的照片,(╯‵□′)╯︵┻━┻)
想和小冰聊天,只能看看与小冰合作的第三方平台了。
乍一看平台挺多,但是其实没有几个是提供了简单易用的SDK能够让我接管聊天这件事情的……哪像telegram那样嘛!!
本API呢……是从新浪微博入手的……
效果图
将ExpressBot与小冰结
特点
- 可用,2019年唯一真正可用的API
- 异步非阻塞:尽管如此,还是需要一两秒给小冰那边的~
- 可维护:咱是要维护这个的……
先来简单的介绍下使用方法吧!
使用方法
支持GET、POST方法,也可以POST JSON
GET http://127.0.0.1:6789/chat?text=hello
假如一切正常,HTTP 200
{ "text": "想我干嘛", "debug": "" }
假如客户端有错,HTTP 400
{ "text": "", "debug": "client wrong reason" }
假如服务端有错,HTTP 500
{ "text": "", "debug": "server wrong reason" }
部署方法
其实部署本程序很简单的啦!以下步骤,如果理想的话,只需要十年再来一次哦~
1. 领养小冰
注册一个新浪微博账号,领养小冰,确保与小冰的私信是正常的
2. 登录微博账号
使用Chrome或者Firefox,建议开启隐身模式,打开 https://m.weibo.cn, 登录你的微博账号
3. 获取headers
打开和小冰的私信页面,按F12打开控制台,切换到Network,并选中XHR,然后和小冰说句话,点开名为send的请求
复制全部Request Headers中除了Content-Length以外所有行,粘贴到headers.txt中
4. 安装Python 3与依赖
安装适合自己平台的Python,然后
pip install tornado requests
5. 运行
python ice_server.py
6. systemd单元文件
可能需要给headers.txt
设置足够的权限
[Unit] Description=xiaoice API by Benny After=network.target network-online.target nss-lookup.target [Service] User=nobody Restart=on-failure Type=simple WorkingDirectory=/path/to/realXiaoice ExecStart=/usr/bin/python3 /path/to/realXiaoice/ice_server.py [Install] WantedBy=multi-user.target
其他使用细节
自定义监听端口
python ice_server.py --p=41123
自定义监听地址
python ice_server.py --h=0.0.0.0
目前计划
- 只允许特定IP访问API
- 对小冰的回复增加图片支持
开源地址
https://github.com/BennyThink/realXiaoice
戳~
我想要个现成的!
那么……可以使用智障版呀!
curl "http://39.106.197.205:16789/chat?text=hey"
人工智障聊天机器人
另外,弄了一个机器学习的人工智障聊天机器人,可以到这里下载
使用起来很简单,pip3 install -r requirements.txt
, 分别运行interact_mmi.py
和silly_ice.py
就可以了