AIVision
Этот класс серверного API содержит методы для транскрибирования документов с участием ИИ через нексусы OCR типа в AIService.
AIVision(nexus, connectName)
Инициализирует экземпляр класса AIVision для указанного нексуса и коннекта.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| nexus | String | Нет | Принимает значение, указанное в свойстве ain.api.vision.default_nexus. |
| connectName | String | Нет | Принимает значение, указанное в свойстве ain.ai_connect.default. |
recognition(file, messageOptions, eventOptions, eventRejectOptions)
Используйте метод для отправки сообщения в ИИ-сервис для работы с документами для транскрибирования исходного файла в текст.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| file | Array или Object | Да | Нет |
| messageOptions | Object | Нет | {} |
| eventOptions | Object | Нет | {} |
| eventRejectOptions | Object | Нет | {} |
- Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае наличия base64 и url одновременно, приоритет отдается base64.
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательно | Значение |
|---|---|---|---|
| file_name | String | Да | Имя файла и расширение |
| mime_type | String | Да | mime_type файла |
| base64 | String | Нет | Строка base64 |
| url | String | Нет | URL файла |
-
Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
-
Параметр eventOptions позволяет создать событие в случае положительного ответа сервиса.
- Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
- Вы можете добавить местозаполнитель для подстановки атрибутов соответствующего ain_ai_message.
Пример: param_1:
"${message.completion}"
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательное | Значение по умолчанию |
|---|---|---|---|
| event_name | String | Да | Нет |
| table_name | String | Нет | ain_ai_message |
| record_sys_id | String | Нет | sys_id созданного ain_ai_message |
| process_started_at | String | Нет | Нет |
| param_2 | String | Нет | Нет |
| param_3 | String | Нет | Нет |
| param_4 | String | Нет | Нет |
| param_5 | String | Нет | Нет |
- Определите параметр eventRejectOptions, чтобы в случае отрицательного ответа сервиса было инициировано событие с указанными параметрами.
- Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
- Вы можете добавлять местозаполнители для подстановки атрибутов соответствующего ain_ai_message.
Пример: param_1:
"${message.completion}"
Условия для инициирования события:
- сервис сообщил об ошибке.
- не удалось обработать ответ сервиса.
- не удалось обработать eventOptions.
- при превышении времени ожидания ответа от сервиса, если оно было задано с помощью метода (setTimeout).
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательное | Значение по умолчанию |
|---|---|---|---|
| event_name | String | Да | Нет |
| table_name | String | Нет | ain_ai_message |
| record_sys_id | String | Нет | sys_id созданного ain_ai_message |
| process_started_at | String | Нет | Нет |
| param_2 | String | Нет | Нет |
| param_3 | String | Нет | Нет |
| param_4 | String | Нет | Нет |
| param_5 | String | Нет | Нет |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| String | Метод возвращает sys_id созданного AI Message. Если AI Message создать не удалось, метод возвращает 0. |
Пример:
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. Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| file | Array или Object | Да | Нет |
| messageOptions | Object | Нет | {} |
| eventOptions | Object | Нет | {} |
| eventRejectOptions | Object | Нет | {} |
- Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае н аличия base64 и url одновременно, приоритет отдается base64.
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательно | Значение |
|---|---|---|---|
| file_name | String | Да | Имя файла и расширение |
| mime_type | String | Да | mime_type файла |
| base64 | String | Нет | строка base64 |
| url | String | Нет | URL файла |
-
Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
-
Параметр eventOptions позволяет создать событие в случае положительного ответа сервиса.
- Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
- Вы можете добавить местозаполнитель для подстановки атрибутов соответствующего ain_ai_message.
Пример: param_1:
"${message.completion}"
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательн ое | Значение |
|---|---|---|---|
| event_name | String | Да | Нет |
| table_name | String | Нет | ain_ai_message |
| record_sys_id | String | Нет | sys_id созданного ain_ai_message |
| process_started_at | String | Нет | Нет |
| param_2 | String | Нет | Нет |
| param_3 | String | Нет | Нет |
| param_4 | String | Нет | Нет |
| param_5 | String | Нет | Нет |
- Определите параметр eventRejectOptions, чтобы в случае отрицательного ответа сервиса было инициировано событие с указанными параметрами.
- Ключ param_1 зарезервирован и всегда содержит sys_id созданного ain_ai_message.
- Вы можете добавлять местозаполнители для подстановки атрибутов соответствующего ain_ai_message.
Пример: param_1:
"${message.completion}"
Условия для инициирования события:
- сервис со общил об ошибке.
- не удалось обработать ответ сервиса.
- не удалось обработать eventOptions.
- при превышении времени ожидания ответа от сервиса, если оно было задано с помощью метода (setTimeout).
Ключи, которые могут быть обработаны:
| Поле | Тип | Обязательное | Значение |
|---|---|---|---|
| event_name | String | Да | Нет |
| table_name | String | Нет | ain_ai_message |
| record_sys_id | String | Нет | sys_id созданного ain_ai_message |
| process_started_at | String | Нет | Нет |
| param_2 | String | Нет | Нет |
| param_3 | String | Нет | Нет |
| param_4 | String | Нет | Нет |
| param_5 | String | Нет | Нет |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| String | Метод возвращает sys_id созданного Сообщения ИИ. Если Сообщение ИИ создать не удалось, метод возвращает 0. |
Пример:
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 | Метод возвращает список ошибок. |
Пример:
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());
setTag(tagName)
Используйте этот метод, чтобы добавить в тело сообщения тег для определения в ходе анализа, в рамках какого механизма это сообщение было отправлено.
Параметры:
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| tagName | String | Да | Значение тега, который будет присвоен механизму. |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| undefined | Метод не возвращает значения. |
Пример:
const AI_ASSISTANT_ID = '170510242421430374';
ss.importIncludeScript('AIChat');
const chat= new AIChat();
chat.setUser(AI_ASSISTANT_ID);
chat.setTag('UserQueryAnalysis');
const messageId = chat.completion(
'Сколько звезд в небе?',
{ temperature: 0.6 },
{
event_name: "my_event",
table_name: "task",
record_sys_id: "170014704227406837",
}
);
ss.info(messageId);
setTimeout(duration)
Используйте метод для того, чтобы установить максимальное время ожидания ответа от сервиса в секундах. Если установленное время будет превышено, сообщение будет переведено в статус Ошибка, а также будет инициировано reject событие, если оно было задано в eventRejectOptions.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| duration | Integer | Да | Нет |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| undefined | Метод не возвращает значения. |
Пример:
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, {}));
setUser(userID)
Используйте метод, чтобы инициировать работу ИИ от имени заданного в параметре пользователя. В результате имя пользователя будет добавлено в тело сформированного сообщения.
Параметры:
| Название | Тип | Обязательный | Описание |
|---|---|---|---|
| userID | String | Да | ID пользователя, от имени которого будет запущен ИИ. |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| undefined | Метод не возвращает значения. |
Пример:
const AI_ASSISTANT_ID = '170510242421430374';
ss.importIncludeScript('AIChat');
const chat= new AIChat();
chat.setUser(AI_ASSISTANT_ID);
chat.setTag('UserQueryAnalysis');
const messageId = chat.completion(
'Сколько звезд в небе?',
{ temperature: 0.6 },
{
event_name: "my_event",
table_name: "task",
record_sys_id: "170014704227406837",
}
);
ss.info(messageId);