Создание коллекции#
Предусловия#
Сервер Platform V Vector DB (далее - Vector DB) запущен и доступен по указанному адресу.
Установлен клиентский SDK или присутствует доступ к HTTP/REST API Qdrant.
Определены параметры коллекции: размерность векторов (
size), метрика расстояния (distance), тип данных (datatype, напримерuint8).Выбрана стратегия мультитенантности: использование одной коллекции для нескольких пользователей или создание отдельных коллекций.
Для коллекции с несколькими векторами определены имена и параметры каждого вектора.
При использовании
init_fromтребуется наличие существующей коллекции с совместимыми настройками векторов.
Последовательность выполнения#
Создание базовой коллекции:
PUT /collections/{collection_name}
{
"vectors": {
"size": 300,
"distance": "Cosine"
}
}
curl -X PUT http://localhost:6333/collections/{collection_name} \
-H 'Content-Type: application/json' \
--data-raw '{
"vectors": {
"size": 300,
"distance": "Cosine"
}
}'
from qdrant_client import QdrantClient, models
client = QdrantClient(url="http://localhost:6333")
client.create_collection(
collection_name="{collection_name}",
vectors_config=models.VectorParams(size=100, distance=models.Distance.COSINE),
)
import { QdrantClient } from "@qdrant/js-client-rest";
const client = new QdrantClient({ host: "localhost", port: 6333 });
client.createCollection("{collection_name}", {
vectors: { size: 100, distance: "Cosine" },
});
use qdrant_client::Qdrant;
use qdrant_client::qdrant::{CreateCollectionBuilder, VectorParamsBuilder};
let client = Qdrant::from_url("http://localhost:6334").build()?;
client
.create_collection(
CreateCollectionBuilder::new("{collection_name}")
.vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)),
)
.await?;
import io.qdrant.client.grpc.Collections.Distance;
import io.qdrant.client.grpc.Collections.VectorParams;
import io.qdrant.client.QdrantClient;
import io.qdrant.client.QdrantGrpcClient;
QdrantClient client = new QdrantClient(
QdrantGrpcClient.newBuilder("localhost", 6334, false).build());
client.createCollectionAsync("{collection_name}",
VectorParams.newBuilder().setDistance(Distance.Cosine).setSize(100).build()).get();
using Qdrant.Client;
using Qdrant.Client.Grpc;
var client = new QdrantClient("localhost", 6334);
await client.CreateCollectionAsync(
collectionName: "{collection_name}",
vectorsConfig: new VectorParams { Size = 100, Distance = Distance.Cosine }
);
import (
"context"
"github.com/qdrant/go-client/qdrant"
)
client, err := qdrant.NewClient(&qdrant.Config{
Host: "localhost",
Port: 6334,
})
client.CreateCollection(context.Background(), &qdrant.CreateCollection{
CollectionName: "{collection_name}",
VectorsConfig: qdrant.NewVectorsConfig(&qdrant.VectorParams{
Size: 100,
Distance: qdrant.Distance_Cosine,
}),
})
В дополнение к обязательным опциям можно указать пользовательские значения для параметров коллекции:
hnsw_config- подробнее в разделе Индексирование.wal_config- конфигурация журнала упреждающей записи. Подробное описание WAL приведено в разделе Настройка хранилища документа Руководство администратора.optimizers_config- подробнее в разделе Управление оптимизаторами.shard_number- определяет какое количество шардов должна содержать коллекция.on_disk_payload- задает место хранения данных полезной нагрузки. Еслиtrue- полезная нагрузка будет храниться только на диске. Это может пригодиться для ограничения использования оперативной памяти в случае большого объема полезной нагрузки.quantization_config- подробнее в разделе Квантование.strict_mode_config- подробное описание приведено в разделе Строгий режим документа Руководство администратора.
Значения по умолчанию для необязательных параметров коллекции определены в файле конфигурации (config.yaml).
Информация
Для получения дополнительной информации о параметрах коллекции и вектора рекомендуется ознакомиться с соответствующим методом и описанием конфигурационного файла в разделе Базовый конфигурационный файл документа Справочник конфигурационных файлов и параметров.
Все векторы хранятся в оперативной памяти для быстрого доступа. Параметр on_disk можно установить в векторной конфигурации. Если установлено значение true, все векторы будут постоянно находиться на диске. Это позволит использовать Memmaps, что подходит для обработки больших объемов данных. Подробное описание приведено в разделе Настройка хранилища документа Руководство администратора.
Результат#
Коллекция с указанным именем будет создана с конфигурацией:
Размер векторов:
100.Метрика:
Cosine.По умолчанию будут использоваться стандартные параметры индексирования и оптимизации.