Hello Hafid,
I can think of several approaches you could do to handle your large slot list.
The first is using a database as an intermediate layer. Instead of making multiple API calls directly from the bot flow, you could set up a database as an intermediate layer. You would have to periodically sync the full dataset to this database. But this would allow you to create a single API endpoint that queuries this database instead of making multiple data table API calls. This approach should reduce the latency during conversations and eliminate the need for multiple API calls.
The second is Implement Caching, if your slot values dont change frequently, you could implement caching mechanism. Cache the complete list of values and refresh it periodically. This would eliminate the need for multiple API calls during each conversation.
The third is progressive loading, if possible to implement. A progressive loading approach where you only load relevant subsets of data based on initial user input. For example, if the slots are hierarchical or can be categorized, load only the relevant category first.
The fourth would be to optimize data structure, review if all 25000 values are necessary. Consider grouping or categorizing the values to reduce the initial load. Implement search/filter functionality to help users find relevant values more efficiently.
The fifth and final option would be a custom integration, this would require you to create a custom integration that aggregates the data table API results. This integration would need to handle the multiple API calls and combine the results before sending them to the bot.
These are just some ideas and the best solution would depend on several factors.
- How frequently the slot values changes
- the performance requirements of your bot
- the infrastructure available to you
- the nature of the data
Hope this helps!
------------------------------
Cameron
Online Community Manager/Moderator
------------------------------