"""Загрузка документов из директории в векторное хранилище.""" 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()