Source code for ollama_lc_agent_tayra.core._db_load

# SPDX-FileCopyrightText: 2026-present Tayra Sakurai <tayra_sakurai@icloud.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Document loading module."""
from langchain_core.document_loaders import BaseLoader
from langchain_core.vectorstores import VectorStore
from langchain_text_splitters import RecursiveCharacterTextSplitter

__all__ = [
    'load_documents',
]


[docs] def load_documents( loader: BaseLoader, vectorstore: VectorStore, characters: list[str] | None = None ) -> None: """Loads documents using the selected loader. Args: loader: The loader. vectorstore: The vector store database adaptor. characters: The delimiters, optional. """ documents = loader.load() splitter = RecursiveCharacterTextSplitter( separators=characters, chunk_size=100, chunk_overlap=10 ) docs = splitter.split_documents(documents) for doc in docs: doc.metadata = { key: str(value) for key, value in doc.metadata.items() if isinstance(value, (str, int, float,)) } vectorstore.add_documents(docs)