add chunker.py
This commit is contained in:
+13
-11
@@ -1,17 +1,19 @@
|
|||||||
"""
|
"""
|
||||||
Chunking utilities for the RAG agent.
|
Chunking utilities using RecursiveCharacterTextSplitter.
|
||||||
|
|
||||||
Uses RecursiveCharacterTextSplitter from langchain.text_splitter to split documents into
|
|
||||||
chunks of 500 characters with an overlap of 100 characters. The splitter is exposed as a
|
|
||||||
singleton instance so that it can be reused across the project.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
||||||
|
|
||||||
# Singleton splitter configuration
|
# Configure splitter: chunk size 500, overlap 100
|
||||||
CHUNKER = RecursiveCharacterTextSplitter(
|
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)
|
||||||
chunk_size=500,
|
|
||||||
chunk_overlap=100,
|
|
||||||
)
|
|
||||||
|
|
||||||
__all__ = ["CHUNKER"]
|
def split_text(text: str) -> list[str]:
|
||||||
|
"""Split a large text into chunks.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
text: The raw document content.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
List of string chunks.
|
||||||
|
"""
|
||||||
|
return splitter.split_text(text)
|
||||||
|
|||||||
Reference in New Issue
Block a user