Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Векторные базы данных в Python
AI / ML·11 тем·130 вопросов·уровень Middle, Senior

Векторные базы данных в Python

Практический курс по векторному поиску для Python-разработчиков. Вы пройдёте путь от первого эмбеддинга до production-системы с RAG, гибридным поиском и масштабированием. Каждая тема — это рабочая задача с пошаговым решением, примерами кода и разбором типичных ошибок. В конце курса вы создадите поисковик по документации или RAG-бота.

Начать курс

Векторные базы данных в Python

Полнотекстовый поиск не найдёт «как отменить подписку», если в документе написано «расторжение договора»: слова разные. Векторный поиск найдёт, потому что сравнивает не слова, а смысл, упакованный в несколько сотен чисел. Цена — приблизительность: результат почти всегда не точный, а достаточно близкий, и вся инженерия здесь про то, как выбрать степень «достаточно».

Одиннадцать тем, каждая заканчивается работающим кодом. Первая занимает минут пятнадцать и даёт поиск, который уже что-то ищет, — теория подтягивается после. Дальше: генерация эмбеддингов с батчами и кэшированием, метрики сходства и разница между косинусом и скалярным произведением там, где векторы не нормализованы.

Хранилища берутся по возрастанию: FAISS как библиотека для прототипа, потом её же production-индексы — HNSW ради скорости, IVF ради памяти; Chroma, когда нужна фильтрация по метаданным и не хочется поднимать сервис; Qdrant, когда нужен сервис с REST, асинхронным клиентом и сложными фильтрами.

Отдельно — гибридный поиск: чистая семантика проваливается на точных совпадениях вроде артикулов и кодов ошибок, поэтому её объединяют с BM25 через Reciprocal Rank Fusion. Затем RAG: поиск контекста плюс генерация ответа, с честным разбором того, откуда берутся выдуманные ответы. Заканчивается курс поисковиком по документации, который собирается с нуля: сбор данных, индексация, гибридный поиск, деплой.

Своих моделей эмбеддингов здесь не обучают — используются готовые. Нужен Python и опыт работы с внешними API; уровень middle и выше.

  1. 1

    Быстрый старт: векторный поиск за 15 минут

    Пишем первый рабочий пример векторного поиска сразу — без глубокой теории. Вы увидите результат за 15 минут и поймёте, зачем всё это нужно.

    10 вопросов
  2. 2

    Первые эмбеддинги: практика генерации

    Учимся генерировать эмбеддинги для текста: выбор модели, пакетная обработка, кэширование. Много кода, минимум теории.

    12 вопросов
  3. 3

    Метрики сходства: когда какую использовать

    Cosine, Euclidean, Dot Product — разбираем на примерах, какая метрика для какой задачи подходит. Практические тесты и сравнения.

    12 вопросов
  4. 4

    FAISS: основы для прототипов

    Начинаем работать с FAISS: создание индекса, добавление векторов, поиск. Простые примеры для понимания базовых принципов.

    12 вопросов
  5. 5

    FAISS для продакшена: HNSW и IVF

    Продвинутые индексы FAISS для больших данных: HNSW для скорости, IVF для экономии памяти. Сохранение, загрузка, метаданные.

    12 вопросов
  6. 6

    Chroma: простая векторная БД с метаданными

    Работаем с Chroma — самой простой векторной базой данных. Фильтрация по метаданным, персистентность, клиент-серверный режим.

    12 вопросов
  7. 7

    Qdrant: полноценная векторная БД

    Qdrant для production-систем: REST API, сложные фильтры, асинхронный клиент, масштабирование. Развёртывание в Docker.

    12 вопросов
  8. 8

    Гибридный поиск: векторный + BM25

    Комбинируем семантический поиск с keyword-поиском. BM25, Reciprocal Rank Fusion, практические примеры улучшения точности.

    12 вопросов
  9. 9

    RAG-приложение: поиск + генерация ответов

    Создаём RAG-систему: поиск контекста в векторной базе + генерация ответа через LLM. Интеграция с OpenAI GPT.

    12 вопросов
  10. 10

    Production-паттерны: масштабирование и мониторинг

    Кэширование запросов, балансировка нагрузки, логирование метрик, обработка ошибок. Практики для надёжных систем.

    12 вопросов
  11. 11

    Финальный проект: поисковик по документации

    Создаём полноценный поисковик по документации с нуля: сбор данных, индексация, поиск, гибридный поиск, деплой.

    12 вопросов
  12. Зачёт

    Доступен после всех тем (0 из 11)

  13. Экзамен

    Доступен после зачёта

22 / 22

Векторная база данных

Основные понятия

Специализированная система хранения и поиска данных, оптимизированная для работы с высокоразмерными векторами. Позволяет искать объекты по семантическому сходству.

Пример

FAISS, Chroma, Qdrant, Weaviate, Pinecone — популярные векторные базы данных.

Связанные термины

Эмбеддинг (векторное представление)

Эмбеддинги и модели

Вектор чисел, представляющий объект (текст, изображение, аудио) в многомерном пространстве. Семантически близкие объекты имеют близкие векторы.

Пример

Текст 'кот' может быть представлен вектором [0.12, -0.45, 0.78, ..., 0.33] размерности 384.

Связанные термины

Размерность вектора

Эмбеддинги и модели

Количество элементов (измерений) в векторе эмбеддинга. Определяется моделью и влияет на точность представления и скорость поиска.

Пример

Модель all-MiniLM-L6-v2 создаёт эмбеддинги размерности 384, all-mpnet-base-v2 — 768.

Связанные термины

Косинусное сходство (Cosine Similarity)

Метрики сходства

Мера сходства двух векторов, вычисляемая как косинус угла между ними. Значения от -1 до 1, где 1 означает идентичное направление.

Пример

cosine_similarity([1, 0], [1, 0]) = 1.0 (идентичные векторы), cosine_similarity([1, 0], [0, 1]) = 0.0 (ортогональные).

Связанные термины

Евклидово расстояние (L2)

Метрики сходства

Прямое расстояние между двумя точками в пространстве. Чем меньше расстояние, тем ближе векторы.

Пример

L2_distance([0, 0], [3, 4]) = 5.0 (по теореме Пифагора).

Связанные термины

Скалярное произведение (Dot Product)

Метрики сходства

Сумма поэлементных произведений двух векторов. Используется как мера сходства, особенно когда векторы нормализованы.

Пример

dot_product([1, 2, 3], [4, 5, 6]) = 1*4 + 2*5 + 3*6 = 32.

Связанные термины

Векторный индекс

Индексация и поиск

Структура данных, оптимизированная для быстрого поиска ближайших соседей. Использует алгоритмы approximate nearest neighbors (ANN) для ускорения поиска.

Пример

FAISS IndexFlatL2 — точный индекс для евклидова расстояния; IndexHNSW — приближённый индекс для быстрого поиска.

Связанные термины

Approximate Nearest Neighbors (ANN)

Индексация и поиск

Алгоритмы приближённого поиска ближайших соседей. Жертвуют точностью ради значительного ускорения поиска на больших данных.

Пример

HNSW, IVF, LSH — популярные алгоритмы ANN, используемые в векторных базах данных.

Связанные термины

HNSW (Hierarchical Navigable Small World)

Индексация и поиск

Алгоритм ANN, строящий многоуровневый граф связей между векторами. Обеспечивает быстрый поиск с логарифмической сложностью O(log n).

Пример

FAISS IndexHNSW использует HNSW для высокоскоростного поиска с хорошей точностью (95-99%).

Связанные термины

IVF (Inverted File Index)

Индексация и поиск

Алгоритм ANN, разделяющий векторы на кластеры (воронки). Поиск происходит только в ближайших кластерах, что ускоряет поиск.

Пример

FAISS IndexIVFFlat сначала квантует векторы в воронки, затем ищет только в N ближайших воронках (nprobe).

Связанные термины

RAG (Retrieval-Augmented Generation)

Production-концепции

Архитектурный паттерн, сочетающий поиск релевантных документов в векторной базе с генерацией ответов через LLM. Позволяет LLM отвечать на вопросы по внешним данным.

Пример

Пользователь задаёт вопрос → система ищет релевантные документы в векторной БД → передаёт их в LLM как контекст → LLM генерирует ответ.

Связанные термины

Гибридный поиск (Hybrid Search)

Production-концепции

Комбинация векторного (семантического) поиска с традиционным keyword-поиском (BM25). Позволяет учитывать как смысл, так и точные совпадения терминов.

Пример

Поисковый запрос 'python async' находит документы и по семантическому сходству, и по точному вхождению слов через BM25.

Связанные термины

BM25 (Best Matching 25)

Production-концепции

Вероятностная модель для keyword-поиска. Учитывает частоту терминов в документе и обратной частотой в коллекции для ранжирования.

Пример

rank-bm25 — Python библиотека для реализации BM25 поиска.

Связанные термины

Reciprocal Rank Fusion (RRF)

Production-концепции

Алгоритм слияния результатов нескольких поисковых систем. Присваивает каждому документу рейтинг на основе его позиции в каждом из ранжированных списков.

Пример

Если документ на 1-м месте в векторном поиске и 5-м в keyword-поиске, его RRF-score = 1/(1+1) + 1/(5+1) = 0.5 + 0.167 = 0.667.

Связанные термины

Пакетная индексация (Batch Indexing)

Production-концепции

Добавление векторов в индекс большими порциями (батчами). Значительно эффективнее, чем добавление по одному вектору.

Пример

Вместо 10000 вызовов index.add(vector) лучше один раз вызвать index.add(np.array(vectors)) с матрицей всех векторов.

Связанные термины

Трансформер (Transformer)

Эмбеддинги и модели

Архитектура нейронной сети, лежащая в основе современных моделей для генерации эмбеддингов (BERT, GPT, sentence-transformers).

Пример

Модель sentence-transformers/all-MiniLM-L6-v2 на основе Transformer создаёт эмбеддинги предложений.

Связанные термины

Sentence Transformers

Эмбеддинги и модели

Библиотека и семейство моделей для генерации эмбеддингов предложений и текстов. Оптимизированы для задач семантического поиска.

Пример

from sentence_transformers import SentenceTransformer; model = SentenceTransformer('all-MiniLM-L6-v2'); embeddings = model.encode(['текст1', 'текст2'])

Связанные термины

FAISS (Facebook AI Similarity Search)

Библиотеки и инструменты

Библиотека от Meta для эффективного поиска похожих векторов. Самая быстрая и гибкая библиотека, но требует дополнительной инфраструктуры.

Пример

import faiss; index = faiss.IndexHNSWFlat(384, M=32); index.add(embeddings)

Связанные термины

Chroma

Библиотеки и инструменты

Простая векторная база данных с хранением метаданных из коробки. Идеальна для прототипов и небольших проектов.

Пример

import chromadb; client = chromadb.Client(); collection = client.create_collection('docs')

Связанные термины

Qdrant

Библиотеки и инструменты

Полноценная векторная база данных с REST API, сложными фильтрами и масштабируемостью. Готова для продакшена.

Пример

from qdrant_client import QdrantClient; client = QdrantClient(host='localhost', port=6333)

Связанные термины

Чанкинг (разбиение на чанки)

Production-концепции

Разбиение длинных текстов на меньшие фрагменты (чанки) для индексации. Позволяет обрабатывать документы, превышающие ограничение модели на длину контекста.

Пример

Текст длиной 5000 символов разбивается на 10 чанков по 500 символов с overlap 50 символов.

Связанные термины

TTL-кэш (Time To Live Cache)

Production-концепции

Кэш с ограничением по времени хранения записей. Автоматически удаляет устаревшие данные, освобождая память.

Пример

TTLCache(max_size=5000, ttl_seconds=1800) — хранит до 5000 записей 30 минут.

Связанные термины

Частые вопросы о курсе «Векторные базы данных в Python»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «Векторные базы данных в Python»?

Курс включает 11 тем и 130 вопросов с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «Векторные базы данных в Python»?

Маршрут охватывает уровни Middle, Senior. Темы расположены от основы к более сложным инженерным задачам, поэтому можно начать с подходящего места и не пропускать важные зависимости.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «Векторные базы данных в Python» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «Векторные базы данных в Python» бесплатный?

Да, курс полностью бесплатный: все 11 тем доступны без оплаты.