Динамическое взвешивание векторных полей в базе данных векторов для поиска сходства векторов (redis или другое)

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

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

Есть ли у вас какие-либо предложения о том, как это сделать? В какой-нибудь базе данных это реализовано? Спасибо,

0 ответов

Другие вопросы по тегам