# Сохранение в Qdrant (шаг 7) Сохранение вектора эмбеддинга (шаг 6) и метаданных в коллекцию `chapter_analyses`. Метаданные главы/книги (book_id, chapter_id, chapter_number, chapter_title, book_title, author) берутся из merged JSON — они попадают туда на шаге 5 при мерже с `--input-chapter` (входной JSON этапа 1). ## Вход - **merged JSON** (шаг 5): теги, анализ и метаданные главы/книги (book_id, chapter_id, chapter_number, chapter_title, book_title, author). Должны быть подмешаны при мерже через `--input-chapter` (вход этапа 1). - **Вектор** (шаг 6): файл с JSON-массивом чисел или stdin. - Опционально: `--validation-score`. ## Выход Одна точка в коллекции Qdrant: id = `chapter_id`, vector = эмбеддинг, payload = bookId, chapterId, chapterNumber, chapterTitle, validationScore, tags, title, author (по схеме ARCHITECTURE_SUMMARY). ## Использование ```bash # Вектор из файла (merged должен содержать book_id, chapter_id, chapter_number, chapter_title из шага 5 с --input-chapter) python3 save_to_qdrant.py merged_with_tags.json vector.json [--validation-score 0.95] # Вектор из stdin (пайплайн с шагом 6) python3 6_генерация_эмбеддингов/embed_cli.py merged_with_tags.json model_name \ | python3 7_сохранение_qdrant/save_to_qdrant.py merged_with_tags.json - ``` ## Переменные окружения | Переменная | По умолчанию | Описание | |------------|--------------|----------| | `QDRANT_URL` | `http://localhost:6333` | URL Qdrant | | `QDRANT_COLLECTION_CHAPTER_ANALYSES` | `chapter_analyses` | Имя коллекции | В Docker используйте `QDRANT_URL=http://qdrant:6333`.