From 95ff2a7f6bf2a2127b5171c1cdda7c0dcafdc449 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 24 Aug 2023 22:22:09 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(util.py):=20add=20missing?= =?UTF-8?q?=20import=20for=20'Document'=20from=20langchain.schema=20?= =?UTF-8?q?=F0=9F=94=A7=20chore(util.py):=20add=20missing=20type=20hint=20?= =?UTF-8?q?for=20'documents'=20parameter=20in=20build=5Floader=5Frepr=5Ffr?= =?UTF-8?q?om=5Fdocuments=20function=20=F0=9F=94=A7=20chore(util.py):=20ad?= =?UTF-8?q?d=20logic=20to=20calculate=20average=20document=20length=20and?= =?UTF-8?q?=20display=20summary=20information=20in=20build=5Floader=5Frepr?= =?UTF-8?q?=5Ffrom=5Fdocuments=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/utils/util.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/utils/util.py b/src/backend/langflow/utils/util.py index f68c9dbe2..4760ebc2d 100644 --- a/src/backend/langflow/utils/util.py +++ b/src/backend/langflow/utils/util.py @@ -2,7 +2,7 @@ import re import inspect import importlib from functools import wraps -from typing import Optional, Dict, Any, Union +from typing import List, Optional, Dict, Any, Union from docstring_parser import parse # type: ignore @@ -10,6 +10,7 @@ from langflow.template.frontend_node.constants import FORCE_SHOW_FIELDS from langflow.utils import constants from langflow.utils.logger import logger from multiprocess import cpu_count # type: ignore +from langchain.schema import Document def build_template_from_function( @@ -462,3 +463,12 @@ def get_number_of_workers(workers=None): workers = (cpu_count() * 2) + 1 logger.debug(f"Number of workers: {workers}") return workers + + +def build_loader_repr_from_documents(documents: List[Document]) -> str: + if documents: + avg_length = sum(len(doc.page_content) for doc in documents) / len(documents) + return f"""{len(documents)} documents + \nAvg. Document Length (characters): {int(avg_length)} + Documents: {documents[:3]}...""" + return "0 documents"