Due to the use of an async driver, sync and async interfaces can not be mixed with the opposite environment.
If the Engine was initialized asynchronously, no self-managed loop is created therefore coroutines can not be scheduled to run synchronously.
If we try to run on the same loop, the task blocks the thread with the current loop and never completes.
If the Engine was initialized synchronously, coroutines error since it is not attached to the native loop.
LangChain interfaces support both async and sync calls for all methods.
Due to the use of an async driver, sync and async interfaces can not be mixed with the opposite environment. If the Engine was initialized asynchronously, no self-managed loop is created therefore coroutines can not be scheduled to run synchronously.
https://docs.google.com/document/d/1Cf73cs5hTV0rCakK7rjZAPLk9RIsw1AS7o7GcDoTQg0