I'm in the process of building a chatbot to access various datastores. Right now it doesn't seem that there is any way to specify that an agent uses a specific datastore except to set up a separate app and agent for that specific datastore. From what I can tell, there is no way to specify a specific Flow, Page or DataStore (all different ways I could think of to access specific datastores) in the detectIntent. It seems like a lot of extra steps to have to set up a new Chat App, then configure the app, then create the datastore, then set the datastore for that agent, then call that specific AgentId. Is there a way to target a specific datastore through one app/agent using a single app? Otherwise it seems like a lot of redundant set up.
Solved! Go to Solution.
hi Kevin,
knowing better your use case, you are correct, a data store can only be linked to an Agent. You will need to create multiple data stores and agents.
You can also solve it by conversation design principles. This means that you can have multiple flows per department in a big agent and guide user to choose the department at the beginning of the conversation.
Best,
Xavi
Hi,
You can create all the data stores that you want and then, from Dialogflow CX, link those data stores using the data store handler in the page and flow that you want: https://cloud.google.com/dialogflow/vertex/docs/concept/data-store-agent#:~:text=Data%20store%20hand....
Please check this Youtube video I recorded that talks about that: https://www.youtube.com/watch?v=w8D-p0rqQKI
Best,
Xavi
I checked out that document earlier and it still looks like you have to create a completely new chat app, then an agent, then connect the datastore to that agent. So essentially you have to create an app, agent and datastore just to use a specific datastore. In my case, it would be ideal no not have to create an app and agent for every separate datastore. I want the app/agent to be able to search a specific datastore, not every datastore. Thanks for responding!
I understand that you can create and use multiple data stores with a single agent, but say I want to have 2 chat options using the dialogflow API for two completely different sets of different department data. For instance one that only has access to datastore1 and one that only access to datastore2. It looks like I need to set up a specific app/agent/datastore to search each datastore, instead of something simple like passing a datastore parameter to detectIntent or targeting a specific Flow that has the datastore set. Your video shows how to access multiple datastores with a single app/agent, but not how to target a specific datastore using a single app/agent. Hopefully that clears it up.
hi Kevin,
knowing better your use case, you are correct, a data store can only be linked to an Agent. You will need to create multiple data stores and agents.
You can also solve it by conversation design principles. This means that you can have multiple flows per department in a big agent and guide user to choose the department at the beginning of the conversation.
Best,
Xavi
Hi Xavi,
Thanks for confirming. I thought that was the case but it's my first time building out Dialogflow with datastores so I wasn't 100% sure of the capabilities. Appreciate the back and forth!
-Kevin
no worries!
sorry for not understanding your use case since the beginning!
Best,
Xavi
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |