fix: Use Runnable's asynchronous methods to prevent blocking (#9466)

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
This commit is contained in:
bingchuan 2025-08-22 01:16:00 +08:00 committed by GitHub
commit 74080df2af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -252,7 +252,7 @@ class LCModelComponent(Component):
if stream:
lf_message, result = await self._handle_stream(runnable, inputs)
else:
message = runnable.invoke(inputs)
message = await runnable.ainvoke(inputs)
result = message.content if hasattr(message, "content") else message
if isinstance(message, AIMessage):
status_message = self.build_status_message(message)
@ -288,7 +288,7 @@ class LCModelComponent(Component):
else:
session_id = None
model_message = Message(
text=runnable.stream(inputs),
text=runnable.astream(inputs),
sender=MESSAGE_SENDER_AI,
sender_name="AI",
properties={"icon": self.icon, "state": "partial"},
@ -298,7 +298,7 @@ class LCModelComponent(Component):
lf_message = await self.send_message(model_message)
result = lf_message.text
else:
message = runnable.invoke(inputs)
message = await runnable.ainvoke(inputs)
result = message.content if hasattr(message, "content") else message
return lf_message, result