【技术教学】创建一个专属于你自己的投资管理聊天机器人

目录   
1.概述    
2.前期准备工作    
3.创建 Chatbot 操作过程    
3.1.登录 IBM Cloud 平台    
3.2.创建 Wastson Conversation 服务    
3.3.创建 Cloudant 服务    
3.4.创建 Investment Portfolio 服务    
3.5.创建 Simulated Instrument Analytics 服务    
3.6.本地开发调试 chatbot 应用    
3.7.部署 chatbot 应用到 IBM Cloud 平台    

1.概述

聊天机器人正快速获得人们的认同,成为各种各样的客户交互的标准。在此次开发人员学习之旅中,将创建一个基于 Watson Conversation 的聊天机器人,使您能够使用 Investment Portfolio 服务查询投资组合和相关财产。您将使用 Simulated Instrument Analytics 服务在给定场景下对证券进行计算分析, 并学习如何在标准 Web 接口与 Twilio 接口之间进行切换。

完成此次学习之旅后,您将掌握如何:

使用 Watson Conversation 创建聊天机器人对话
设置与  Watson Conversation  机器人交互的多个接口:Web  和  Twilio
访问   Investment Portfolio   服务,挑选种子数据并将它们发送给该服务
将数据和一个场景发送到 Simulated  Instrument  Analytics  服务,以检索分析结果


2.前期准备工作

创建 bluemix 账号(点击注册
熟悉 Cloud Foundry 及 Node JS
熟悉在 Bluemix 上创建应用和为应用连接服务


本 机 安 装 NodeJS

Windows:https://nodejs.org/dist/v8.9.0/node-v8.9.0-x64.msi

MacOS: https://nodejs.org/dist/v8.9.0/node-v8.9.0.pkg

Linux: https://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-x64.tar.xz


本机安装 Bluemix cli 命令行工具
Bluemix cli 下 载 地 址 :

Windows:https://plugins.ng.bluemix.net/download/bluemix-cli/0.6.0/win64

Linux:https://plugins.ng.bluemix.net/download/bluemix-cli/0.6.0/linux64

MacOS: https://plugins.ng.bluemix.net/download/bluemix-cli/0.6.0/osx

本机安装 curl 工具
Windows: http://curl.haxx.se/download/curl-7.33.0-win64-ssl-sspi.zip

Linux & MacOS 系统自带


下载练习代码和最新的js文件

https://pan.baidu.com/s/1jIIfT1k

https://github.com/zhangyanfa/personal-wealth-portfolio-mgt-bot/blob/master/lib/controller.js


3.创建 Chatbot 操作过程

3.1.登录 IBM Cloud 平台


   1. 登录 IBM Cloud 平台, https://console.bluemix.net/

3.2.创建 Wastson Conversation 服务


   2. 点击右上角“目录”,在点击左侧目录中“Watson”,在点击“Conversation”

   3. 输入服务名称,点击创建


   4. 创建成功后,进入 Conversation 管理界面

点击左侧“服务凭证”,记下 Conversation 服务凭证的 username 和 password注:本地开发调试代码会用到


   5. 点击左侧“管理”,在点击右侧按钮“Launch tool”,然后新开页面显示Wastson Conversation 平台

   6. 点击上方箭头图标,弹出窗口中点击“Choose File”,在本地的 NodeJS 工程目录里的 resource 目录下找到 workspace.json 添加后,点击“Import”按钮
注:在章节中提供的 NodeJS 工程的下载地址

   7. 这样就把一个已经提前训练好的对话场景,导入到了 Conversation 中


   8.  点击上方的“Waston  Conversation”链接,然后点图标,在弹出的菜单中点击“View Details”,再点击图标将会把“Workspace ID”复制到剪 切板
注:将“Workspace ID”保存下来,在本地开发调试中会用到此 ID

   9. 要详细学习 Conversation 的对话场景的设计可参考在线文档和 Demo,回到
Conversation 服务的管理页面,可找到相应的链接。

3.3.创建 Cloudant 服务


   10.    回到 IBM Cloud 平台,点击“目录”然后在左侧目录中点击“数据和分析”,再点击“Cloudant NoSQL DB”


   11.    输入服务名称,然后点击“创建”


   12.    在 Cloudant 服务管理页面,点击“服务凭证”,记下凭证中的 url注:url 在本地开发调试中会用到


3.4.创建 Investment Portfolio 服务


   13.    回到  IBM  Cloud  平台,点击“目录”,然后页面拉到最下方,然后点击
“Bluemix 试验性服务”链接

 

   14.    在左侧目录中点击“金融”,在点击“Investment Portfolio”,然后输入服务名称,再点击“创建”


   15.    在 Investment Portfolio 服务管理页面,点击“服务凭证”,将凭证信息保存下来
注:在本地开发调试中会用到此凭证信息


3.5.创建 Simulated Instrument Analytics 服务


   16.    回到  IBM  Cloud  平台,点击“目录”,然后页面拉到最下方,然后点击 “Bluemix 试验性服务”链接


   17.    在左侧目录中点击“金融”,在点击“Simulated Instrument Analytics”,然后输入服务名称,再点击“创建


   18.    在 Simulated Instrument Analytics 服务管理页面,点击左侧“服务凭证”,将凭证信息保存下来
注:在本地开发调试中会用到此凭证信息


3.6.本地开发调试 chatbot 应用

注:本机需要安装 NodeJS,并下载本教程代码
   19.    命令进入工程根目录,下载 node js 工程中依赖包,输入命令: npm install

   20. 打开 manifest.yml,将属性 services 替换成你在 IBM Cloud 平台创建服务时定义的服务名称;属性 name 定义成你发布的应用名称,为了保证唯一性, 最好把你的登录 id 作为应用的后缀,如:portfolio-chat-{loing id}

 

   21.    打开.env 文件编辑下面这些变量,对应填写的值就是第 12、15、18 步骤中保存的值

 

CRED_PORTFOLIO_USERID 替换成 Investment Portfolio 服务凭证的reader.userid
CRED_PORTFOLIO_PWD    替 换 成    Investment    Portfolio    服 务 凭 证 的reader.password
CWRT_PORTFOLIO_USERID 替换成 Investment Portfolio 服务凭证的 writer.userid
CWRT_PORTFOLIO_PWD  替换成Investment   Portfolio服务凭证的writer.password


   22.    初始化 Investment Portfolio 数据在系统命令行工具中执行以下 2 行命令,
{service-user-id}替换成 Investment Portfolio 服务凭证的 writer.userid
{service-user_password}替换成 Investment Portfolio 服务凭证的 writer.password 注:用到第二章节中要求安装的 curl 工具
curl -X POST -u "{service-user-id}":"{service-user_password}" --header 'Content- Type: application/json' --header 'Accept: application/json' -d '{ "name":"P1", "timestamp": "2017-02-24T19:53:56.830Z", "closed": false, "data": { "manager": "Edward Lam" }}' 'https://investment-portfolio.mybluemix.net/api/v1/portfolios'

curl -X POST -u "{service-user-id}":"{service-user_password}" --header 'Content- Type: application/json' --header 'Accept:application/json' -d '{ "timestamp": "2017-05-05T19:53:56.830Z", "holdings": [ { "asset": "IBM", "quantity": 1500, "instrumentId": "CX_US4592001014_NYQ"}, { "asset": "GE", "quantity": 5000, "instrumentId": "CX_US3696041033_NYQ" }, { "asset": "F", "quantity": 5000, "instrumentId": "CX_US3453708600_NYQ" }, { "asset": "BAC", "quantity": 1800, "instrumentId": "CX_US0605051046_NYS" } ] }' 'https://investment- portfolio.mybluemix.net/api/v1/portfolios/P1/holdings'

   23.    在工程根目录执行命令,启动 node js 服务,启动 web 服务的端口是 3000

 

   24.    打开浏览器,地址栏输入:http://localhost:3000/  根据提示进行测试

 

3.7.部署 chatbot 应用到 IBM Cloud 平台


   25.    命令行登录到 IBM Cloud 平台连接 IBM Cloud,命令行输入:
bx api https://api.ng.bluemix.net
登录 IBM Cloud,命令行输入:
bx login -u <bluemix 登陆邮箱> -o <组织 id> -s <空间名称>
部署,命令行输入:
bx app push


在命令行出现以下信息,state 是 started 状态,说明已经部署并启动应用成功


   26.    在 IBM Cloud 平台运行测试
回到 IBM Cloud 平台,点击左上角菜单按钮,在点击“仪表板”,然后在应用列表中点击应用的链接地址,然后在新开页面中显示对话信息


 

猜你喜欢

转载自my.oschina.net/u/3341527/blog/1563244