AIVector
Этот класс серверного API содержит методы для работы с механизмом Vector Collection Definition и позволяет записывать, удалять и искать контент в векторной базе данных.
Для начала работы укажите путь в Системном свойстве (sys_property) ain.vctrdb.url
и токен авторизации в системном свойстве ain.vctrdb.token
.
AIVector(name)
Используйте данный конструктор, чтобы создать экземпляр класса AIVector для указанного Vector Collection Definition. Параметр name – это значение, указанное в поле Name нужной записи коллекции Vector Collection Definition.
Параметры:
Наименование | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
name | String | Да | Нет |
collect()
Используйте этот метод, чтобы удалить записи, которые перестали подходить условиям текущей коллекции или которые были удалены из экземпляра.
Возвращает:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения |
Пример:
ss.importIncludeScript('AIVector');
const vector = new AIVector('my_collection');
vector.load();
vector.collect();
load()
Используйте метод, чтобы обновить коллекции. В результате старые записи будут обновлены, а новые загружены.
Возвращает:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения |
Пример:
ss.importIncludeScript('AIVector');
const vector = new AIVector('my_collection');
vector.load();
vector.collect();
search(query, count, metadata)
Используйте этот метод для поиска релевантных записей в векторной базе данных по запросу.
Параметры:
Наименование | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
query | String | Да | Нет | Введите текст, по которому будет осуществлен поиск в векторной базе данных. |
count | Integer | Нет | 5 | Укажите количество наиболее подходящих записей, которые метод должен вернуть. |
metadata | Object | Нет | {} | Укажите фильтр по метаданным записей. |
Возвращает:
Тип | Описание |
---|---|
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 документа в векторной базе данных.
Пример:
ss.importIncludeScript('AIVector');
const vdb = new AIVector('itsm_incident');
const records = vdb.search('Мышка опять не работает', 3);
ss.info(records);