Files
t6_mem0/embedchain/chunkers/base_chunker.py
Taranjeet Singh 4329caa17c Chunkers: Refactor each chunker & add base class
Adds a base chunker from which any chunker can inherit.
Existing chunkers are refactored to inherit from this base
chunker.
2023-06-20 16:30:23 +05:30

28 lines
819 B
Python

import hashlib
class BaseChunker:
def __init__(self, text_splitter):
self.text_splitter = text_splitter
def create_chunks(self, loader, url):
documents = []
ids = []
datas = loader.load_data(url)
metadatas = []
for data in datas:
content = data["content"]
meta_data = data["meta_data"]
chunks = self.text_splitter.split_text(content)
url = meta_data["url"]
for chunk in chunks:
chunk_id = hashlib.sha256((chunk + url).encode()).hexdigest()
ids.append(chunk_id)
documents.append(chunk)
metadatas.append(meta_data)
return {
"documents": documents,
"ids": ids,
"metadatas": metadatas,
}