Skip to main content

AIVector

Этот класс серверного API содержит методы для работы с механизмом Vector Collection Definition и позволяет записывать, удалять и искать контент в векторной базе данных.

Для начала работы укажите путь в Системном свойстве (sys_property) ain.vctrdb.url и токен авторизации в системном свойстве ain.vctrdb.token.

AIVector(name)


Используйте данный конструктор, чтобы создать экземпляр класса AIVector для указанного Vector Collection Definition. Параметр name – это значение, указанное в поле Name нужной записи коллекции Vector Collection Definition.

Параметры:

НаименованиеТипОбязательныйЗначение по умолчанию
nameStringДаНет

collect()


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

Возвращает:

ТипОписание
undefinedМетод не возвращает значения

Пример:

collect()
ss.importIncludeScript('AIVector');
const vector = new AIVector('my_collection');
vector.load();
vector.collect();

load()


Используйте метод, чтобы обновить коллекции. В результате старые записи будут обновлены, а новые загружены.

Возвращает:

ТипОписание
undefinedМетод не возвращает значения

Пример:

load()
ss.importIncludeScript('AIVector');
const vector = new AIVector('my_collection');
vector.load();
vector.collect();

search(query, count, metadata)


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

Параметры:

НаименованиеТипОбязательныйЗначение по умолчаниюОписание
queryStringДаНетВведите текст, по которому будет осуществлен поиск в векторной базе данных.
countIntegerНет5Укажите количество наиболее подходящих записей, которые метод должен вернуть.
metadataObjectНет{}Укажите фильтр по метаданным записей.

Возвращает:

ТипОписание
Array of ObjectМетод возвращает массив объектов типа JSON. Смотрите пример ниже.
{
"key": "itsm_incident",
"metadata": {
"caller": "100000000000000000",
"id": "0593e0a4-fb69-11ee-a5b6-0242ac110002",
"record_id": "1571198114224389356",
"service": ""
},
"document": "Тема: Недоступен агент мониторинга на узле myNode.com\nОписание: Третье отключение за день\nУслуга: Virtual Host",
"distance": 0.39052727818489075
},
  • key – имя коллекции.
  • document – контент, содержащийся в векторной базе данных для этой записи.
  • metadata – тэги и их значения, а также ID документа в векторной базе данных.

Пример:

search()
ss.importIncludeScript('AIVector');

const vdb = new AIVector('itsm_incident');
const records = vdb.search('Мышка опять не работает', 3);

ss.info(records);