From f36b6a5693bcbb5f065b36cd2fad1c672b7a5749 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 17 Dec 2023 17:32:03 -0300 Subject: [PATCH] Add support for Runnable objects in generate_result function --- src/backend/langflow/processing/process.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/langflow/processing/process.py b/src/backend/langflow/processing/process.py index de0890802..1a25965de 100644 --- a/src/backend/langflow/processing/process.py +++ b/src/backend/langflow/processing/process.py @@ -12,6 +12,7 @@ from langflow.interface.run import build_sorted_vertices, get_memory_key, update from langflow.services.deps import get_session_service from loguru import logger from pydantic import BaseModel +from langchain_core.runnables.base import Runnable def fix_memory_inputs(langchain_object): @@ -131,6 +132,10 @@ def generate_result(langchain_object: Union[Chain, VectorStore], inputs: dict): result = langchain_object.search(**inputs) elif isinstance(langchain_object, Document): result = langchain_object.dict() + elif isinstance(langchain_object, Runnable): + result = langchain_object.invoke(inputs) + result = result.content if hasattr(result, "content") else result + else: logger.warning(f"Unknown langchain_object type: {type(langchain_object)}") if isinstance(langchain_object, Coroutine):