Qdrant: создать коллекцию с заданной метрикой на Python
Реализуйте создание коллекции по параметрам задания. Учебная проверка использует mock клиента: важно правильно собрать конфигурацию и передать выбранную метрику расстояния.
Напишите код и проверьте решение. Продолжить тему можно в курсе Vector DB & RAG Developer.
Задание — создание коллекции
Напишите функцию create_articles_collection(client, collection_name, vector_size, distance_name), которая создаёт коллекцию в Qdrant с заданными параметрами и возвращает True.
Теория
Коллекция в Qdrant создаётся методом client.create_collection(). При создании обязательно задаются: vectors_config — объект models.VectorParams(size=..., distance=...), где distance берётся из класса models.Distance: COSINE, DOT, EUCLID.
Пример
result = create_articles_collection(client, "news", 128, "dot")
# Коллекция "news" создана с size=128, distance=Dot
# result == True
Особые случаи
Аргумент distance_name — строка в нижнем регистре: "cosine", "dot" или "euclid". Внутри функции нужно сопоставить её с атрибутом models.Distance.
Примечание
- Важно: библиотека
qdrant_clientв этом задании — имитация (mock), а не настоящий Qdrant. - Замокированы:
qdrant_client.QdrantClient,qdrant_client.models(и вложенные:VectorParams,Distance,PointStruct,Filter,FieldCondition,MatchValue,Range,PointIdsList,FilterSelector). - Если импортировать что-то незамокированное — вы увидите
ImportErrorс подсказкой. - Аргумент
client— уже созданный объект клиента, передаётся автоматически. - Функцию вызывать не нужно — это делается автоматически.
Пример
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
