add chunker.py

This commit is contained in:
2026-05-28 13:06:10 +00:00
parent 96a261cd35
commit ea565bf41e
+19 -12
View File
@@ -1,19 +1,26 @@
"""
Chunking utilities using RecursiveCharacterTextSplitter.
Chunking utilities for the RAG agent.
This module provides a single function `get_text_splitter` that returns a
:class:`langchain.text_splitter.RecursiveCharacterTextSplitter` configured to
split documents into chunks of 500 characters with an overlap of 100.
The splitter is used by :mod:`agent` when ingesting files.
"""
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain.text_splitter import RecursiveCharacterTextSplitter
# Configure splitter: chunk size 500, overlap 100
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)
def split_text(text: str) -> list[str]:
"""Split a large text into chunks.
def get_text_splitter() -> RecursiveCharacterTextSplitter:
"""Return a configured text splitter.
Args:
text: The raw document content.
Returns:
List of string chunks.
The splitter uses a chunk size of 500 characters and an overlap of 100
characters. These values are chosen to balance context length with the
ability to retrieve relevant passages during semantic search.
"""
return splitter.split_text(text)
return RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=100,
)
# End of chunker.py