add init_knowledge.py

This commit is contained in:
2026-05-25 22:10:58 +00:00
parent c7f4d7ee96
commit 5d39fe1038
+41
View File
@@ -0,0 +1,41 @@
"""Загрузка документов из директории в векторное хранилище."""
from __future__ import annotations
import argparse
from pathlib import Path
from vector_store import add_document_to_store
SUPPORTED_SUFFIXES = {".txt", ".md", ".markdown"}
def load_directory(directory: str | Path) -> int:
root = Path(directory)
if not root.exists():
raise FileNotFoundError(f"Директория не найдена: {root}")
total_chunks = 0
for path in sorted(root.rglob("*")):
if not path.is_file() or path.suffix.lower() not in SUPPORTED_SUFFIXES:
continue
content = path.read_text(encoding="utf-8")
title = str(path.relative_to(root))
total_chunks += add_document_to_store(content, title)
print(f"Загружен: {title} ({len(content)} символов)")
return total_chunks
def main() -> None:
parser = argparse.ArgumentParser(description="Инициализация базы знаний из папки")
parser.add_argument(
"--dir",
default="./docs",
help="Путь к директории с .txt/.md файлами",
)
args = parser.parse_args()
chunks = load_directory(args.dir)
print(f"Готово. Всего чанков: {chunks}")
if __name__ == "__main__":
main()