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 | Да | Нет |
clear()
Используйте этот метод, чтобы полностью удалить все записи в коллекции векторной базы данных, соответствующей Vector Collector Definition.
Возвращает:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения |
Пример:
ss.importIncludeScript('AIVector');
const vdb = new AIVector('itsm_incident');
vdb.clear();
delete(record)
Используйте этот метод для того, чтобы удалить одну запись из векторной базы данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
record | SimpleRecord | Да | Нет | Передать можно только один объект SimpleRecord. |
Возвращает:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения |
Пример:
ss.importIncludeScript('AIVector');
const record = new SimpleRecord('itsm_incident');
record.get("171321372920261628");
const vdb = new AIVector('itsm_incident');
vdb.delete(record);
deleteRecords(records)
Используйте метод для удаления множества записей из векторной базы данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
records | SimpleRecord | Да | Нет | Передать можно только записи SimpleRecord. |
Возвращает:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
ss.importIncludeScript('AIVector');
const records = new SimpleRecord('itsm_incident');
records.addQuery('caller', ss.getUserId());
records.query();
const vdb = new AIVector('itsm_incident');
vdb.deleteRecords(records);
download(record)
Используйте этот метод для загрузки одной записи в векторную базу данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
record | SimpleRecord | Да | Нет | Передать можно только один объект SimpleRecord. |
Возвращает:
Тип | Описание |
---|---|
Object | Метод возвращает объект типа JSON. Смотрите пример ниже. |
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},
record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.
Пример:
ss.importIncludeScript('AIVector');
const record = new SimpleRecord('itsm_incident');
record.get("171321372920261628");
const vdb = new AIVector('itsm_incident');
const relation = vdb.download(record);
ss.info(JSON.stringify(relation));
downloadRecords(records)
Используйте этот метод для загрузки множества записей в векторную базу данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
records | SimpleRecord | Да | Нет | Передать можно только записи SimpleRecord. |
Возвращает:
Тип | Описание |
---|---|
Array of Object | Метод возвращает массив объектов типа JSON. Смотрите пример ниже. |
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},
record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.
Пример:
sss.importIncludeScript('AIVector');
const records = new SimpleRecord('itsm_incident');
records.addQuery('caller', ss.getUserId());
records.query();
const vdb = new AIVector('itsm_incident');
const relations = vdb.downloadRecords(records);
ss.info(relations);
rewrite(record)
Используйте метод для того, чтобы перезаписать одну запись векторной базы данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
record | SimpleRecord | Да | Нет | Передать можно только один объект SimpleRecord. |
Возвращает:
Тип | Описание |
---|---|
Object | Метод возвращает объект типа JSON. Смотрите пример ниже. |
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},
record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.
Пример:
ss.importIncludeScript('AIVector');
const record = new SimpleRecord('itsm_incident');
record.get("171321372920261628");
const vdb = new AIVector('itsm_incident');
vdb.rewrite(record);
rewriteRecords(records)
Используйте метод для перезаписи множества записей векторной базы данных.
Параметры:
Название | Тип | Обязательно | Значение по умолчанию | Описание |
---|---|---|---|---|
records | SimpleRecord | Да | Нет | Передать можно только записи SimpleRecord. |
Возвращаемое значение:
Тип | Описание |
---|---|
Array of Object | Метод возвращает массив объектов типа JSON. Смотрите пример ниже. |
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},
record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.
Пример:
ss.importIncludeScript('AIVector');
const records = new SimpleRecord('itsm_incident');
records.addQuery('caller', ss.getUserId());
records.query();
const vdb = new AIVector('itsm_incident');
const relations = vdb.rewriteRecords(records);
ss.info(relations);
search(query, count)
Используйте этот метод для поиска релевантных записей в векторной базе данных по запросу.
Параметры:
Наименование | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
query | String | Да | Нет | Введите текст, по которому будет осуществлен поиск в векторной базе данных. |
count | Integer | Нет | 5 | Укажите количество наиболее подходящих записей, которые метод должен вернуть. |
Возвращает:
Тип | Описание |
---|---|
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);