[feat]: Add support for XML file format (#757)

This commit is contained in:
Ojuswi Rastogi
2023-10-07 04:09:32 +05:30
committed by GitHub
parent d2fd3ce434
commit 540a0a3685
8 changed files with 135 additions and 2 deletions

26
embedchain/loaders/xml.py Normal file
View File

@@ -0,0 +1,26 @@
import hashlib
from langchain.document_loaders import UnstructuredXMLLoader
from embedchain.helper.json_serializable import register_deserializable
from embedchain.loaders.base_loader import BaseLoader
from embedchain.utils import clean_string
@register_deserializable
class XmlLoader(BaseLoader):
def load_data(self, xml_url):
"""Load data from a XML file."""
loader = UnstructuredXMLLoader(xml_url)
data = loader.load()
content = data[0].page_content
content = clean_string(content)
meta_data = data[0].metadata
meta_data["url"] = meta_data["source"]
del meta_data["source"]
output = [{"content": content, "meta_data": meta_data}]
doc_id = hashlib.sha256((content + xml_url).encode()).hexdigest()
return {
"doc_id": doc_id,
"data": output,
}