🐛 fix(JSONDocumentBuilder.py): fix JSON serialization issue by using orjson_dumps function

🔒 chore(JSONDocumentBuilder.py): add type checking and raise TypeError for invalid input
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-08-22 15:36:49 -03:00
commit 8098cea405

View file

@ -13,6 +13,7 @@
from langflow import CustomComponent
from langchain.schema import Document
from langflow.database.models.base import orjson_dumps
class JSONDocumentBuilder(CustomComponent):
@ -34,9 +35,18 @@ class JSONDocumentBuilder(CustomComponent):
documents = None
if isinstance(document, list):
documents = [
Document(page_content={key: doc.page_content}) for doc in document
Document(
page_content=orjson_dumps({key: doc.page_content}, indent_2=False)
)
for doc in document
]
elif isinstance(document, Document):
documents = Document(
page_content=orjson_dumps({key: document.page_content}, indent_2=False)
)
else:
documents = Document(page_content={key: document.page_content})
raise TypeError(
f"Expected Document or list of Documents, got {type(document)}"
)
self.repr_value = documents
return documents