/
Eclipsy
/
1c_agent
Обзор
Документация
Войти
/
Eclipsy
/
1c_agent
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/load_metadata.py
52 строки
2 KB
Egor Novoselov
Метаданные V2
14 май 2026, 17:52
14 май 2026, 17:52
7fd590e
Код
Авторство
О чём код?
"""Скрипт первичной загрузки метаданных конфигурации 1С в ChromaDB. Использует MetadataCache с force=True для полной перезагрузки даже если кеш уже был заполнен. Запуск: make load-meta # в Docker python scripts/load_metadata.py # локально""" import asyncio import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) from mcp_server.config import config from mcp_server.client_1c import OneCClient from mcp_server.rag.vectorstore import MetadataVectorStore from mcp_server.rag.metadata_cache import MetadataCache async def main(): print("=== Загрузка метаданных 1С в ChromaDB ===") print(f"1С URL: {config.ONEC_BASE_URL}") print(f"ChromaDB: {config.CHROMA_PATH}") print(f"Эмбеддинги: {config.EMBEDDING_MODEL}") client = OneCClient() vs = MetadataVectorStore(config.CHROMA_PATH, config.EMBEDDING_MODEL) cache = MetadataCache(vs, client, config.METADATA_REFRESH_INTERVAL) if vs.is_populated(): print(f"\nВ ChromaDB уже {vs._collection.count()} объектов.") answer = input("Перезагрузить? [y/N]: ").strip().lower() if answer != "y": print("Отмена.") return print("\nПроверка подключения к 1С...") ok = await client.health_check() if not ok: print("ОШИБКА: 1С недоступна. Проверь настройки в .env") sys.exit(1) print("1С доступна.") await cache.ensure_initialized(force=True) print(f"\nГотово! В ChromaDB загружено {vs._collection.count()} объектов.") print("Индексированы: документы, справочники, отчёты, регистры сведений, регистры накопления.") if __name__ == "__main__": asyncio.run(main())