AIVoice
Этот класс серверного API содержит методы для транскрибирования аудиофайлов и создания аудиофайлов по текстовому описанию с участием ИИ посредством нексусов типа voice в AIService.
AIVoice(nexus, connectName)
Используйте этот метод, чтобы создать экземпляр класса AIVoice для указанного нексуса и коннекта.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| nexus | String | Нет | Принимает значение, указанное в профиле настроек, используемого по умолчанию. |
| connectName | String | Нет | Принимает значение профиля настроек, установленного по умолчанию. |
diarization (file, ident, messageOptions, eventConfig, eventRejectConfig)
Используйте метод для распознавания голосов спикеров на аудиозаписи.
Параметр ident содержит данные, которые используются для идентификации участников разговора. Для формирования этого параметра используйте метод formIdent(). По умолчанию установлено значение null, а имена спикеров имеют следующий вид: Speaker 0, Speaker 1 и так далее.
Также вы можете настроить вид объекта ident следующим образом:
{
"Ivan Petrov": [
-0.02906041406095028,
0.08401278406381607,
-0.07044941186904907,
0.14326906204223633,
0.15503352880477905,
]
}
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| file | Object | Да | Нет |
| ident | Object | Нет | null |
| messageOptions | Object | Нет | {} |
| eventConfig | Object | Нет | {} |
| eventRejectConfig | Object | Нет | {} |
Пример:
ss.importIncludeScript('AIVoice');
const voice = new AIVoice('ain.identification.ident_diarize');
const msgid = voice.diarization({ attachment_id: "111111111111111111" });
print(msgid)
recognition(file, messageOptions, eventOptions)
Используйте этот метод для отправки сообщения в ИИ-сервис работы с аудио для транскрибирования аудиофайла в текст.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| file | Array или Object | Да | Нет |
| messageOptions | Object | Нет | {} |
| eventOptions | 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 | Нет | Нет |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| String | Метод возвращает sys_id созданного AI Message. Если AI Message создать не удалось, метод возвращает 0. |
Пример:
В примере ниже значение константы base64 сокращено для удобочитаемости. Полностью пример можно посмотреть в файле aivoice_example.txt.
ss.importIncludeScript('AIVoice);
const voice = new AIVoice('oai.whisper-1.audio_transcriptions');
const base64 = "AAAAGGZ0eX ... DJAABAAD/////";
const messageId = voice.recognition({
"file_name": "My audio.mp3",
"mime_type": "audio/mpeg",
"base64": base64,
"url": "https://example.storage.com/files/my_file",
});
ss.info(messageId);
createSpeech(prompt, messageOptions, eventOptions, eventRejectOptions)
Используйте этот метод отправки сообщения в ИИ-сервис работы с аудио для генерации аудиофайла на основании указанного текста.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| prompt | String | Да | Нет |
| messageOptions | Object | Нет | {} |
| eventOptions | Object | Нет | {} |
| eventRejectOptions | Object | Нет | {} |
- Параметр prompt содержит текст, который необходимо преобразовать в аудиофайл.
- Параметр 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. |
Пример:
ss.importIncludeScript('AIVoice);
const voice = new AIVoice('oai.tts-1-hd.audio_speech');
const messageId = voice.createSpeech('Расскажи кому на Руси жить хорошо');
ss.info(messageId);
getErrors()
Используйте этот метод, чтобы получать информацию об ошибках, если при отправке сообщения произошел сбой.
Возвращаемое значение:
| Тип | Описание |
|---|---|
| Array of Strings | Метод возвращает список ошибок. |
Пример:
ss.importIncludeScript('AIVoice);
const voice = new AIVoice('oai.whisper-1.audio_transcriptions');
const messageId = voice.recognition();
ss.info(image.getErrors());
formIdent(file, messageOptions, eventConfig, eventRegectConfig)
Используйте этот метод для формирования данных параметра ident, которые используются для идентификации участников разговора.
Параметры:
| Название | Тип | Обязательный | Значение по умолчанию |
|---|---|---|---|
| file | Object | Да | Нет |
| messageOptions | Object | Нет | {} |
| eventConfig | Object | Нет | {} |
| eventRejectConfig | Object | Нет | {} |
Пример:
ss.importIncludeScript('AIVoice');
const voice = new AIVoice('ain.identification.get_ident_file');
const msgid = voice.formIdent({ attachment_id: "111111111111111111" });
print(msgid)
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 | Да | Нет |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| Void | Метод не возвращает значения. |
Пример:
ss.importIncludeScript('AIVoice');
const voice = new AIVoice('oai.tts-1-hd.audio_speech');
voice.setTimeout(3600);
const messageId = voice.createSpeech('Расскажи кому на Руси жить хорошо');
ss.info(messageId);
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);