Skip to content

Commit 8decc06

Browse files
update Wander[001] (#1430)
* Wander[001] - 未来流浪者:微信中的科幻机器人 V2.1 Wander[001] - 未来流浪者:微信中的科幻机器人 V2.1 * Wander[001] - 未来流浪者:微信中的科幻机器人 V2.1 Wander[001] - 未来流浪者:微信中的科幻机器人 V2.1 * update * update * update * edit * Update 2021-08-25-wander-001.md * update images * update image
1 parent ce61dcc commit 8decc06

File tree

14 files changed

+254
-0
lines changed

14 files changed

+254
-0
lines changed

jekyll/_contributors/chelys-cheng.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
name: chelys-cheng
3+
site: https://github.com/chelys-cheng
4+
avatar: /assets/contributors/chelys-cheng/chelys.webp
5+
bio: Generating...
6+
email: sunyuqian1997@163.com
7+
---
8+
9+
## Contact me
10+
11+
- Github: <https://github.com/chelys-cheng>

jekyll/_contributors/sunyuqian1997.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: sunyuqian1997
3+
site: https://fakecheese.me/
4+
avatar:/assets/contributors/sunyuqian1997/cheese.webp
5+
bio: Generating...
6+
email: sunyuqian1997@163.com
7+
---
8+
9+
Artist and designer.
10+
11+
## Contact me
12+
13+
- Personal website: <https://fakecheese.me/>
14+
- Email:sunyuqian1997@163.com
+229
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
---
2+
title: "Wander[001] - 未来流浪者:微信中的科幻机器人 V2.1"
3+
author: sunyuqian1997
4+
categories: article
5+
tags:
6+
- blog
7+
- wechaty
8+
- study
9+
- introduction
10+
image: /assets/2021/08-wander-001/conv1.png
11+
---
12+
13+
> 作者: [起司](https://github.com/sunyuqian1997)[扣扣](https://github.com/chelys-cheng)
14+
15+
## 项目简介
16+
17+
![cover](/assets/2021/08-wander-001/cover.jpg)
18+
19+
Wander [ 001 ]是一个以AI chatbot为主体的跨媒体互联网艺术项目,包括可交互的微信端机器人、CG影像、以及实时更新的地图网站。
20+
21+
参与者可以通过微信向Wander发送现实中的地点,Wander会从随机的“未来时间点”前往当地,返回科幻游记与街景图。参与者可以用行动指令,让Wander探索未知的地点,甚至与遇到的角色互动交流。
22+
23+
每一次的旅行的时间点是不确定的,而旅行的结果会实时记录于地图网站上。在人类的参与中,未来的地图会被不断完善,形成一个由公众与AI共同构建的科幻未来。艺术家基于Wander传送的游记与图像进行进一步CG创作,通过人机配合延展对未来的构想。
24+
25+
本项目展出于2021 Wave Summit,2021保利春季拍卖NFT展区与2021北京时代美术馆-亚洲数字艺术展。
26+
27+
截至2021年8月,已有超过1000名参与者带领Wander旅行。我们希望Wander能让人们重新审视熟悉的环境,从我们最熟悉的通讯软件里给人带去惊喜。
28+
29+
[AI Studio地址](https://aistudio.baidu.com/aistudio/projectdetail/2274223?forkThirdPart=1)
30+
[代码详见Github](https://github.com/sunyuqian1997/Wander001-V2.1)
31+
32+
![conv2](/assets/2021/08-wander-001/conv2.png)
33+
34+
![tutorial](/assets/2021/08-wander-001/tutorial.jpg)
35+
36+
![show](/assets/2021/08-wander-001/show.jpg)
37+
38+
## 互动方式
39+
40+
![qrbode](/assets/2021/08-wander-001/qrbode.jpg)
41+
42+
扫码或微信搜索:WanderingBot,添加好友后即可互动。
43+
44+
发送 **我想去:xxxx**(任意中国大陆内地点)即可驱动Wander前去旅行。
45+
46+
降落后两分钟内发送 **行动:xxxx**(如:进入面前的建筑物,向身边的机器人打招呼)即可让Wander继续探索这个地点。
47+
48+
每次旅行可以发起两次行动,指令间隔需要在两分钟内。
49+
50+
![conv1](/assets/2021/08-wander-001/conv1.png)
51+
52+
## 实现流程
53+
54+
- 识别指令
55+
56+
&emsp;&emsp;指令系统`system/Command.py`将识别指令,并根据指令完成相应行为
57+
58+
- 旅行指令-[我想去:北京大门东门]
59+
60+
&emsp;&emsp;获取地理信息,如 \[北京大学东门\]
61+
62+
- **定位系统`system/Position.py`获取目标地点GPS坐标**
63+
64+
&emsp;&emsp;=》调用百度地图api地图检索功能,根据地点搜索获取gps坐标
65+
66+
&emsp;&emsp;&emsp;[http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi](http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi)
67+
68+
- **图像系统`system/RobotImage.py`获取过去景象**
69+
70+
&emsp;&emsp;=》调用百度地图api全景静态图功能,获取该坐标对应的街景图
71+
72+
&emsp;&emsp;&emsp;[http://lbsyun.baidu.com/index.php?title=viewstatic](http://lbsyun.baidu.com/index.php?title=viewstatic)
73+
74+
- **图像系统`system/RobotImage.py`拍摄未来照片**
75+
76+
&emsp;&emsp;=》调用PaddleHub风格迁移模型,迁移成未来风格
77+
78+
&emsp;&emsp;&emsp;[https://aistudio.baidu.com/aistudio/projectdetail/439779?channelType=0&channel=0](https://aistudio.baidu.com/aistudio/projectdetail/439779?channelType=0&channel=0)
79+
80+
- **思维系统`system/Thinking.py`形成旅行日志**
81+
82+
&emsp;&emsp;=》调用彩云小梦api,生成游记
83+
84+
&emsp;&emsp;&emsp;[https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API](https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API)
85+
86+
- **存储系统`system/Storage.py`保存旅行日志**
87+
88+
- **通讯信息回复用户**
89+
90+
&emsp;&emsp;=》通过WeChaty返回消息给用户
91+
92+
&emsp;&emsp;&emsp;[https://wechaty.js.org/](https://wechaty.js.org/)
93+
94+
- 行动指令-[行动:扒开废墟碎片找到通道]
95+
96+
&emsp;&emsp;=》获取行动内容,如[扒开废墟碎片找到通道],结合前文内容
97+
98+
- **思维系统`system/Thinking.py`形成行动日志**
99+
100+
&emsp;&emsp;=》调用彩云小梦api,生成游记
101+
102+
&emsp;&emsp;&emsp;[https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API](https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API)
103+
104+
- **存储系统`system/Storage.py`保存行动日志**
105+
106+
- **通讯信息回复用户**
107+
108+
&emsp;&emsp;=》通过WeChaty返回消息给用户
109+
110+
## 准备工作
111+
112+
- WeChaty Token申请地址:
113+
114+
&emsp;[http://pad-local.com](http://pad-local.com)
115+
116+
- 百度地图的api Token(ak)可通过在官网控制台创建应用获得,需付费
117+
118+
&emsp;[http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5](http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5)
119+
120+
- 彩云小梦的api Token需要通过邮件申请
121+
122+
&emsp;[https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API](https://open.caiyunapp.com/%E5%BD%A9%E4%BA%91%E5%B0%8F%E6%A2%A6API)
123+
124+
## 部署步骤
125+
126+
### 安装docker
127+
128+
- 可以在[官方教程](https://docs.docker.com/engine/install)上找到不同系统上安装docker的方法,如[Ubuntu安装Docker指南](https://docs.docker.com/engine/install/ubuntu/)
129+
- 安装完毕后,可通过`docker version`查看是否安装成功
130+
131+
### 启动wechaty puppet服务网关容器
132+
133+
```python
134+
docker run -d \
135+
--restart=always \
136+
--name wechaty_puppet_service_token_gateway \
137+
-e WECHATY_LOG=verbose \
138+
-e WECHATY_PUPPET=wechaty-puppet-padlocal \
139+
-e WECHATY_TOKEN=1c468a07-9d85-4af4-945a-db7238b53189 \
140+
-e WECHATY_PUPPET_PADLOCAL_TOKEN=puppet_padlocal_xxxxx \
141+
-e WECHATY_PUPPET_SERVER_PORT=8081 \
142+
-p "8081:8081" \
143+
wechaty/wechaty:latest
144+
```
145+
146+
注:
147+
148+
- `WECHATY_TOKEN`表示自定义的一个唯一令牌,需要唯一,本文设置使用的是生成的UUID,可以参考,如果提示错误可替换,后续检测网关有效性有用到
149+
- `WECHATY_PUPPET_PADLOCAL_TOKEN`即从wechaty获取的有效token,格式为`puppet_padlocal_xxxxx`,可自行替换成自己的token
150+
- `WECHATY_PUPPET_SERVER_PORT`表示与官方服务器通信的端口,后续检测网关有效性有用到
151+
152+
部署正常的话,docker容器内部的log应该会出现以下内容:
153+
154+
```python
155+
============================================================
156+
Welcome to Wechaty PadLocal puppet!
157+
- wechaty-puppet-padlocal version: 0.4.1
158+
- padlocal-ts-client version: 0.4.0
159+
============================================================
160+
```
161+
162+
而Wechaty官方给出检测有效性的方式为访问网址:
163+
164+
```url
165+
https://api.chatie.io/v0/hosties/1c468a07-9d85-4af4-945a-db7238b53189
166+
```
167+
168+
`https://api.chatie.io/v0/hosties/`后面的字符串即为上文提到的`WECHATY_TOKEN`的值。
169+
170+
当结果为以下内容:
171+
172+
```json
173+
{"host":"xxx.xxx.xxx.xxx","ip":"xxx.xxx.xxx.xxx","port":8081}
174+
```
175+
176+
`host``ip`分别为你网关部署服务器的Host和IP地址,`port`即为前文提到的`WECHATY_PUPPET_SERVER_PORT`参数对应的值。
177+
178+
如果`host``ip`为实际的值,而不是0.0.0.0,则表示网关部署成功啦。
179+
180+
### 启动mysql数据库容器
181+
182+
```python
183+
docker run -d \
184+
--name wander_storage \
185+
-e MYSQL_ROOT_PASSWORD=123456 \
186+
-e MYSQL_DATABASE=wander_storage \
187+
-e MYSQL_USER=wander \
188+
-e MYSQL_PASSWORD=wander \
189+
-p "3306:3306" \
190+
mysql:5.7
191+
```
192+
193+
### 启动redis数据库容器
194+
195+
```python
196+
docker run -d \
197+
--restart=always \
198+
--name cache_redis \
199+
-p "6379:6379" \
200+
redis:latest
201+
```
202+
203+
### pip安装运行环境所需模块
204+
205+
`pip install -r ./work/requestments.txt`
206+
207+
### 运行Wander
208+
209+
`python ./work/robot-start.py`
210+
211+
## 总结
212+
213+
本项目是[在未来流浪:基于WeChaty, PaddleHub与彩云小梦的科幻机器人](https://aistudio.baidu.com/aistudio/projectdetail/1896705)的升级版本。基于上个版本,进行了全面的代码重构并新增“行动”功能,新增后端网站记录,完善图片迁移。本项目仅包含微信机器人部分。
214+
215+
本项目由速冻乱码搅拌机开发。
216+
217+
设计/ [me](https://github.com/sunyuqian1997)
218+
219+
Chatbot开发/ [扣扣](https://github.com/chelys-cheng) , [me](https://github.com/sunyuqian1997)
220+
221+
后端/[扣扣](https://github.com/chelys-cheng)
222+
223+
前端/[Shing](https://github.com/shing19)[Ray](https://github.com/Ray-lei-blog)
224+
225+
协助/[草莓](https://github.com/Fairywang9)[koi](https://github.com/YingXu-Koi)
226+
227+
文本续写AI/彩云科技
228+
229+
![logo](/assets/2021/08-wander-001/logo.png)
67.9 KB
Binary file not shown.
107 KB
Binary file not shown.
56.4 KB
Binary file not shown.
3.59 KB
Binary file not shown.
124 KB
Binary file not shown.
86.9 KB
Binary file not shown.
80.3 KB
Binary file not shown.

jekyll/assets/WechatIMG2108 1.jpeg

105 KB
Loading

jekyll/assets/WechatIMG2108.jpeg

105 KB
Loading
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)