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ДаНет

clear()


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

Возвращает:

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

Пример:

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

const vdb = new AIVector('itsm_incident');
vdb.clear();

delete(record)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordSimpleRecordДаНетПередать можно только один объект SimpleRecord.

Возвращает:

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

Пример:

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

const record = new SimpleRecord('itsm_incident');
record.get("171321372920261628");

const vdb = new AIVector('itsm_incident');
vdb.delete(record);

deleteRecords(records)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordsSimpleRecordДаНетПередать можно только записи SimpleRecord.

Возвращает:

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

Пример:

deleteRecords()
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)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordSimpleRecordДаНетПередать можно только один объект SimpleRecord.

Возвращает:

ТипОписание
ObjectМетод возвращает объект типа JSON. Смотрите пример ниже.
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},

record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.

Пример:

download()

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)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordsSimpleRecordДаНетПередать можно только записи SimpleRecord.

Возвращает:

ТипОписание
Array of ObjectМетод возвращает массив объектов типа JSON. Смотрите пример ниже.
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},

record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.

Пример:

downloadRecords()

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)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordSimpleRecordДаНетПередать можно только один объект SimpleRecord.

Возвращает:

ТипОписание
ObjectМетод возвращает объект типа JSON. Смотрите пример ниже.
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},

record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.

Пример:

rewrite()

ss.importIncludeScript('AIVector');

const record = new SimpleRecord('itsm_incident');
record.get("171321372920261628");

const vdb = new AIVector('itsm_incident');
vdb.rewrite(record);

rewriteRecords(records)


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

Параметры:

НазваниеТипОбязательноЗначение по умолчаниюОписание
recordsSimpleRecordДаНетПередать можно только записи SimpleRecord.

Возвращаемое значение:

ТипОписание
Array of ObjectМетод возвращает массив объектов типа JSON. Смотрите пример ниже.
{
record_id: "171321372920261628",
relation_id: "171321292526926150",
},

record_id – sys_id записи, которая была загружена, а relation_id – sys_id созданной связи "Record & Document Collection Relation", содержащей ссылку на исходную запись и UUID документа, который был создан в базе данных на основе этой записи.

Пример:

rewriteRecords()

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)


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

Параметры:

НаименованиеТипОбязательныйЗначение по умолчаниюОписание
queryStringДаНетВведите текст, по которому будет осуществлен поиск в векторной базе данных.
countIntegerНет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 документа в векторной базе данных.

Пример:

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

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

ss.info(records);