refactor: Improve build_logs function to handle multiple log items

This commit is contained in:
ogabrielluiz 2024-06-18 10:36:45 -03:00
commit d9034eb625

View file

@ -1,9 +1,10 @@
from typing import Literal, Union, Generator
from enum import Enum from enum import Enum
from pydantic import BaseModel from typing import Generator, Literal, Union
from langflow.schema.message import Message
from langflow.schema import Data
from pydantic import BaseModel
from langflow.schema import Data
from langflow.schema.message import Message
INPUT_FIELD_NAME = "input_value" INPUT_FIELD_NAME = "input_value"
@ -74,10 +75,11 @@ def get_message(payload):
def build_logs(vertex, result) -> dict: def build_logs(vertex, result) -> dict:
logs = dict() logs = dict()
payload = result[0].repr_value payload = result[0]._results
for index, output in enumerate(vertex.outputs): for index, output in enumerate(vertex.outputs):
message = get_message(payload) output_result = payload.get(output["name"])
_type = get_type(payload) message = get_message(output_result)
_type = get_type(output_result)
match _type: match _type:
case LogType.STREAM if "stream_url" in message: case LogType.STREAM if "stream_url" in message:
@ -95,4 +97,4 @@ def build_logs(vertex, result) -> dict:
name = output.get("name", f"output_{index}") name = output.get("name", f"output_{index}")
logs |= {name: Log(message=message, type=_type).model_dump()} logs |= {name: Log(message=message, type=_type).model_dump()}
return {} # logs # TODO return logs