Skip to main content

AIVoice

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

AIVoice(nexus, connectName)​


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
nexusStringНетПринимает значение, указанное в профиле настроек, используемого по умолчанию.
connectNameStringНетПринимает значение профиля настроек, установленного по умолчанию.

diarization (file, ident, messageOptions, eventConfig, eventRejectConfig)​


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

Параметр ident содержит данные, которые используются для идентификации участников разговора. Для формирования этого параметра используйте метод formIdent(). По умолчанию установлено значение null, а имена спикеров имеют следующий вид: Speaker 0, Speaker 1 и так далее.

Также вы можете настроить вид объекта ident следующим образом:

ident
{
"Ivan Petrov": [
-0.02906041406095028,
0.08401278406381607,
-0.07044941186904907,
0.14326906204223633,
0.15503352880477905,
]
}

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fileObjectДаНет
identObjectНетnull
messageOptionsObjectНет{}
eventConfigObjectНет{}
eventRejectConfigObjectНет{}

Пример:

diarization()
ss.importIncludeScript('AIVoice');
const voice = new AIVoice('ain.identification.ident_diarize');
const msgid = voice.diarization({ attachment_id: "111111111111111111" });
print(msgid)

recognition(file, messageOptions, eventOptions)​


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fileArray или ObjectДаНет
messageOptionsObjectНет{}
eventOptionsObjectНет{}
  • Параметр 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НетНет

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

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

Пример:

note

В примере ниже значение константы base64 сокращено для удобочитаемости. Полностью пример можно посмотреть в файле aivoice_example.txt.

recognition()
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)​


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
promptStringДаНет
messageOptionsObjectНет{}
eventOptionsObjectНет{}
eventRejectOptionsObjectНет{}
  • Параметр prompt содержит текст, который необходимо преобразовать в аудиофайл.
  • Параметр 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.

Пример:

createSpeech()
ss.importIncludeScript('AIVoice);
const voice = new AIVoice('oai.tts-1-hd.audio_speech');
const messageId = voice.createSpeech('Расскажи кому на Руси жить хорошо');

ss.info(messageId);

getErrors()​


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

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

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

Пример:

getErrors()
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, которые используются для идентификации участников разговора.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fileObjectДаНет
messageOptionsObjectНет{}
eventConfigObjectНет{}
eventRejectConfigObjectНет{}

Пример:

formIdent()
ss.importIncludeScript('AIVoice');
const voice = new AIVoice('ain.identification.get_ident_file');
const msgid = voice.formIdent({ attachment_id: "111111111111111111" });
print(msgid)

setTag(tagName)​


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

Параметры:

НазваниеТипОбязательныйОписание
tagNameStringДаЗначение тега, который будет присвоен механизму.

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

ТипОписание
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.

Параметры:

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

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

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

Пример:

setTimeout()
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)​


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

Параметры:

НазваниеТипОбязательныйОписание
userIDStringДа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);