Misceallaneous
make_async
The make_async
function takes a synchronous function (for instance a LangChain agent) and returns an asynchronous function that will run the original function in a separate thread.
This is useful to run long running synchronous tasks without blocking the event loop.
Parameters
func
Callable
The synchronous function to run in a separate thread.
Returns
async_function
Coroutine
requiredThe asynchronous function that will run the synchronous function in a separate thread.
Usage
import time
import chainlit as cl
def sync_func():
time.sleep(5)
return "Hello!"
@cl.on_message
async def main(message: cl.Message):
answer = await cl.make_async(sync_func)()
await cl.Message(
content=answer,
).send()
LangChain agent
import chainlit as cl
res = await cl.make_async(agent)(input_str, callbacks=[cl.LangchainCallbackHandler()])
await cl.Message(content=res["text"]).send()
Was this page helpful?