Hi @KirillBarabanov, welcome to the forum!
As you say, the generic Component
's process()
method is currently only synchronous, so at the moment there’s no way to run async code out of the component.
In the meantime, you could try the following: The rest endpoint is asynchronous and should not be blocking, so one option might be to move your async call into the REST endpoint itself, and attach the result to the UserMessage
's metadata
. Your component can then in its process()
method retrieve that result and set the intent.
Alternatively, if you run Rasa with a RedisLockStore
, you can replicate your rasa
microservice and handle more concurrent users.
Let me know if either of these work for you!