Skip to main content

AIVision

Этот класс серверного API содержит методы для транскрибирования документов с участием ИИ через нексусы OCR типа в AIService.

AIVision(nexus, connectName)


Инициализирует экземпляр класса AIVision для указанного нексуса и коннекта.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
nexusStringНетПринимает значение, указанное в свойстве ain.api.vision.default_nexus.
connectNameStringНетПринимает значение, указанное в свойстве ain.ai_connect.default.

recognition(file, messageOptions, eventOptions, eventRejectOptions)


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fileArray или ObjectДаНет
messageOptionsObjectНет{}
eventOptionsObjectНет{}
eventRejectOptionsObjectНет{}
  • Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае наличия base64 и url одновременно, приоритет отдается base64.

Ключи, которые могут быть обработаны:

ПолеТипОбязательноЗначение
file_nameStringДаИмя файла и расширение
mime_typeStringДаmime_type файла
base64StringНетCтрока base64
urlStringНетURL файла
  • Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.

  • Параметр eventOptions позволяет создать событие в случае положительного ответа сервиса.

    • Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
    • Вы можете добавить местозаполнитель для подстановки атрибутов соответствующего ain_ai_message. Пример: param_1: "${message.completion}"

Ключи, которые могут быть обработаны:

ПолеТипОбязательноеЗначение по умолчанию
event_nameStringДаНет
table_nameStringНетain_ai_message
record_sys_idStringНетsys_id созданного ain_ai_message
process_started_atStringНетНет
param_2StringНетНет
param_3StringНетНет
param_4StringНетНет
param_5StringНетНет
  • Определите параметр eventRejectOptions, чтобы в случае отрицательного ответа сервиса было инициировано событие с указанными параметрами.
    • Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
    • Вы можете добавлять местозаполнители для подстановки атрибутов соответствующего ain_ai_message. Пример: param_1: "${message.completion}"

Условия для инициирования события:

  • сервис сообщил об ошибке.
  • не удалось обработать ответ сервиса.
  • не удалось обработать eventOptions.
  • при превышении времени ожидания ответа от сервиса, если оно было задано с помощью метода (setTimeout).

Ключи, которые могут быть обработаны:

ПолеТипОбязательноеЗначение по умолчанию
event_nameStringДаНет
table_nameStringНетain_ai_message
record_sys_idStringНетsys_id созданного ain_ai_message
process_started_atStringНетНет
param_2StringНетНет
param_3StringНетНет
param_4StringНетНет
param_5StringНетНет

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

ТипОписание
StringМетод возвращает sys_id созданного AI Message. Если AI Message создать не удалось, метод возвращает 0.

Пример:

recognition()
const attach = new SimpleRecord('sys_attachment');
attach.get(id); // sys_id файла в системе

const read = new SimpleAttachment();
const prompt = {
"file_name": attach.file_name,
"mime_type": attach.mime_content_type,
"sys_created_at": attach.sys_created_at,
"url": read.getAttachmentUrlById(attach.sys_id)
};

ss.importIncludeScript('AIVision');
const vision = new AIVision();
ss.info(vision.recognition(prompt, {}))

processDocument(file, messageOptions, eventOptoins, eventRejectOptions)


Используйте этот метод отправки сообщения в AI сервис для транскрибирования документа и получения результата в формате JSON. Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fileArray или ObjectДаНет
messageOptionsObjectНет{}
eventOptionsObjectНет{}
eventRejectOptionsObjectНет{}
  • Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае наличия base64 и url одновременно, приоритет отдается base64.

Ключи, которые могут быть обработаны:

ПолеТипОбязательноЗначение
file_nameStringДаИмя файла и расширение
mime_typeStringДаmime_type файла
base64StringНетстрока base64
urlStringНетURL файла
  • Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.

  • Параметр eventOptions позволяет создать событие в случае положительного ответа сервиса.

    • Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
    • Вы можете добавить местозаполнитель для подстановки атрибутов соответствующего ain_ai_message. Пример: param_1: "${message.completion}"

Ключи, которые могут быть обработаны:

ПолеТипОбязательноеЗначение
event_nameStringДаНет
table_nameStringНетain_ai_message
record_sys_idStringНетsys_id созданного ain_ai_message
process_started_atStringНетНет
param_2StringНетНет
param_3StringНетНет
param_4StringНетНет
param_5StringНетНет
  • Определите параметр eventRejectOptions, чтобы в случае отрицательного ответа сервиса было инициировано событие с указанными параметрами.
    • Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
    • Вы можете добавлять местозаполнители для подстановки атрибутов соответствующего ain_ai_message. Пример: param_1: "${message.completion}"

Условия для инициирования события:

  • сервис сообщил об ошибке.
  • не удалось обработать ответ сервиса.
  • не удалось обработать eventOptions.
  • при превышении времени ожидания ответа от сервиса, если оно было задано с помощью метода (setTimeout).

Ключи, которые могут быть обработаны:

ПолеТипОбязательноеЗначение
event_nameStringДаНет
table_nameStringНетain_ai_message
record_sys_idStringНетsys_id созданного ain_ai_message
process_started_atStringНетНет
param_2StringНетНет
param_3StringНетНет
param_4StringНетНет
param_5StringНетНет

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

ТипОписание
StringМетод возвращает sys_id созданного AI Message. Если AI Message создать не удалось, метод возвращает 0.

Пример:

processDocument()
const attach = new SimpleRecord('sys_attachment');
attach.get(id); // sys_id файла в системе

const read = new SimpleAttachment();
const prompt = {
"file_name": attach.file_name,
"mime_type": attach.mime_content_type,
"sys_created_at": attach.sys_created_at,
"url": read.getAttachmentUrlById(attach.sys_id)
};

ss.importIncludeScript('AIVision');
const vision = new AIVision();
ss.info(vision.processDocument(prompt, {}))

getErrors()


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

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

ТипОписание
Array of StringsМетод возвращает список ошибок.

Пример:

getErrors()
const attach = new SimpleRecord('sys_attachment');
attach.get(id); // sys_id файла в системе

const read = new SimpleAttachment();
const prompt = {
"file_name": attach.file_name,
"mime_type": attach.mime_content_type,
"sys_created_at": attach.sys_created_at,
"url": read.getAttachmentUrlById(attach.sys_id)
};

ss.importIncludeScript('AIVision');
const vision = new AIVision();
vision.recognition(prompt, {});
ss.info(vision.getErrors());

setTimeout(duration)


Используйте метод для того, чтобы установить максимальное время ожидания ответа от сервиса в секундах. Если установленное время будет превышено, сообщение будет переведено в статус Ошибка, а также будет инициировано reject событие, если оно было задано в eventRejectOptions.

Параметры:

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

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

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

Пример:

setTimeout()
const attach = new SimpleRecord('sys_attachment');
attach.get(id); // sys_id файла в системе

const read = new SimpleAttachment();
const prompt = {
"file_name": attach.file_name,
"mime_type": attach.mime_content_type,
"sys_created_at": attach.sys_created_at,
"url": read.getAttachmentUrlById(attach.sys_id)
};

ss.importIncludeScript('AIVision');
const vision = new AIVision();
vision.setTimeout(3600);
ss.info(vision.recognition(prompt, {}));