目錄
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 平臺 node
1.概述linux
聊天機器人正快速得到人們的認同,成爲各類各樣的客戶交互的標準。在這次開發人員學習之旅中,將建立一個基於 Watson Conversation 的聊天機器人,使您可以使用 Investment Portfolio 服務查詢投資組合和相關財產。您將使用 Simulated Instrument Analytics 服務在給定場景下對證券進行計算分析, 並學習如何在標準 Web 接口與 Twilio 接口之間進行切換。ios
完成這次學習之旅後,您將掌握如何:git
使用 Watson Conversation 建立聊天機器人對話
設置與 Watson Conversation 機器人交互的多個接口:Web 和 Twilio
訪問 Investment Portfolio 服務,挑選種子數據並將它們發送給該服務
將數據和一個場景發送到 Simulated Instrument Analytics 服務,以檢索分析結果github
2.前期準備工做web
建立 bluemix 帳號(點擊註冊)
熟悉 Cloud Foundry 及 Node JS
熟悉在 Bluemix 上建立應用和爲應用鏈接服務npm
本 機 安 裝 NodeJSjson
Windows:https://nodejs.org/dist/v8.9.0/node-v8.9.0-x64.msiapi
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 文件編輯下面這些變量,對應填寫的值就是第 十二、1五、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 平臺,點擊左上角菜單按鈕,在點擊「儀表板」,而後在應用列表中點擊應用的連接地址,而後在新開頁面中顯示對話信息