From ce208efc5a3d374a111aa81c57e644725c2fa9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB=20=D0=92=D0=B8=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BE=D0=B2?= Date: Thu, 2 Jul 2026 08:35:11 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20init=5Fdocs.py=20=E2=80=94=20=D0=90?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D1=82=20=D1=81=20RAG-=D0=BF=D0=B0=D0=BC?= =?UTF-8?q?=D1=8F=D1=82=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- init_docs.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 init_docs.py diff --git a/init_docs.py b/init_docs.py new file mode 100644 index 0000000..fb5fd8f --- /dev/null +++ b/init_docs.py @@ -0,0 +1,24 @@ +import os +from rag_store import KnowledgeBase +from langchain_text_splitters import RecursiveCharacterTextSplitter +from langchain_core.documents import Document + +def load_documents_from_dir(directory: str, kb: KnowledgeBase): + splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200) + for root, _, files in os.walk(directory): + for file in files: + if file.lower().endswith(('.txt', '.md')): + path = os.path.join(root, file) + try: + with open(path, 'r', encoding='utf-8') as f: + text = f.read() + docs = [Document(page_content=text, metadata={"title": file})] + chunks = splitter.split_documents(docs) + kb.add_documents(chunks) + print(f"Loaded {file} into KB.") + except Exception as e: + print(f"Failed to load {file}: {e}") + +if __name__ == "__main__": + kb = KnowledgeBase() + load_documents_from_dir("./data", kb) \ No newline at end of file