Files
tech/7_сохранение_qdrant/README.md
2026-02-01 22:02:49 +03:00

2.6 KiB
Raw Blame History

Сохранение в 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).

Использование

Вектор — JSON-массив чисел из шага 6: файл embedding.json (Ollama, run_embed_ollama.py) или vector.json / любой другой файл с массивом, либо stdin.

# Вектор из файла (merged должен содержать book_id, chapter_id, chapter_number, chapter_title из шага 5 с --input-chapter)
# Вариант 1: после run_embed_ollama.py (шаг 6 через Ollama)
python3 save_to_qdrant.py 5_мерж_анализа_и_тегов/merged_with_tags.json 6_генерация_эмбеддингов/embedding.json [--validation-score 0.95]

# Вариант 2: вектор в любом файле (например vector.json)
python3 save_to_qdrant.py merged_with_tags.json vector.json [--validation-score 0.95]

# Вектор из stdin (пайплайн с шагом 6 через embed_cli.py)
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.