watson-intu / self

Intu is a Cognitive Embodiment Middleware for AI on the edge.
Other
28 stars 27 forks source link

Setting credentials to connect to bluemix workspaces #6

Open agrosven opened 7 years ago

agrosven commented 7 years ago

I'm running mac OSX Yosemite, with self develop branch. I've been trying to follow the directions for this version to connect the conversation service to my bluemix workspaces. In RC4 I would set self_domain and self_dialog in the /bin/mac/etc/profile/body.json file. In this version there is a self/etc/shared/bootstrap.json file that contains a section to enter self_dialog, but not self_domain. The Update Readme discusses using web browser to access the dashboard end-point (e.g. http://localhost:9443/www/dashboard). When I use that web interface and I navigate to CONFIGURATION|Service Config, Add New Service Config I enter the values but it doesn't appear to actually be setting them. (also, when I click on 'services' it displays a pulldown menu but it's empty and is accompanied by a spinning wheel that never stops).

I was able to successfully configure my RC4 installation to connect conversation service to my workspaces on bluemix, but I haven't been able to here. Is it mandatory to use the web browser interface, or can I manually modify files in order to set credentials? Any steps you could recommend would be greatly appreciated.

screen shot 2017-06-06 at 9 57 03 pm screen shot 2017-06-06 at 10 37 14 pm
rlyle commented 7 years ago

You can just edit the bootstrap.json, then delete the db/knowledge.db to wipe the local graph storage... alternatively, you can use any SQLLite DB viewer to find the body vertex in the knowledge.db and edit it directly if you don't want to wipe your entire DB.

rlyle commented 7 years ago

P.S. I know there is a bug in the dashboard javascript which requires you to do a hard-refresh of the page (F5) sometimes.

agrosven commented 7 years ago

I renamed the /self/bin/mac/db/knowledge.db file, and added credentials to self/bin/mac/etc/shared/bootstrap.json

Unfortunately it is not connecting to my workspace.

Does "self_wex" replace "self_domain" from RC4 to RC5?

In RC4 there were self_domain and self_dialog credentials set in the body.json file:

/bin/mac/etc/profile/body.json
...
           "m_IntentOverride" : "m_IntentOverride",
           "m_ServiceId" : "ConversationV1",
           "m_WorkspaceId" : "00000000-0000-0000-0000-000000000000",
           "m_WorkspaceKey" : "self_domain",
           "m_bPriority" : false
...
           "m_IntentOverride" : "m_IntentOverride",
           "m_ServiceId" : "ConversationV1",
           "m_WorkspaceId" : "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
           "m_WorkspaceKey" : "self_dialog",
           "m_bPriority" : false

In this release I find two opportunities to add credentials (self_wex and self_dialog) in bootstrap.json:

self/bin/mac/etc/shared/bootstrap.json
self/etc/shared/bootstrap.json
(which of these should I be editing?  should they be the same?)

...
           "m_IntentOverride" : "m_IntentOverride",
           "m_PreCacheFile" : "shared/conversation-precache.txt",
           "m_ServiceId" : "ConversationV1",
           "m_WorkspaceId" : "00000000-0000-0000-0000-000000000000",
           "m_WorkspaceKey" : "self_wex",
           "m_bPriority" : false
...
           "m_IntentOverride" : "m_IntentOverride",
           "m_PreCacheFile" : "shared/conversation-precache.txt",
           "m_ServiceId" : "ConversationV1",
           "m_WorkspaceId" : "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
           "m_WorkspaceKey" : "self_dialog",
           "m_bPriority" : false

Please also note that when I removed /self/bin/mac/db/knowledge.db that the response to my statement: "hello" was "I do not know how to hello"

Is it actually necessary for me to be directly editing the knowledge.db file and adding credentials there? Is the config.json file still used in this version?

I could really use some help figuring out how to set this up to connect to my workspace on bluemix thank you!

rlyle commented 7 years ago

m_WorkspaceKey is only used to match up against the key when pulling down credential data from a gateway, which isn't really being used in this case I suspect.

You use one "ConversationProxy" section per conversation work-space you want to have, if you only have one, then remove the self_wex one. Just put your conversation work-space Id into m_WorkspaceId field, simple as that.