Skip to main content
Version: 1.12.0

AISync

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

Структура ответа унифицирована для всех методов класса и содержит объект с единым набором полей. Аналогичные ответы также реализованы и для сетевых ошибок.

Примеры:

Успешный ответ для чата
{
"sys_id": "175880623923742309",
"prompt": "[{\"content\":\"объясни квантовую механику\",\"role\":\"user\"}]", //промпт
"state": "processed", //статус
"completion": "Квантовая механика — это...", //ответ сети
"tools": "{\"tools\":[]}", //инструменты, используемые в запросе
"error_text": "", //текст ошибки
"conversation_id": "175431247526091640" //id разговора (только для чата)
}
Успешный ответ для генерации изображения
{
"sys_id": "175880694425581291",
"prompt": "Человек придавлен деревом",
"state": "processed",
"completion": "[\n {\n \"attachment_id\": \"175880695824020030\",\n \"url\": \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-rwiwWPyZuljgjQp0aAEm8dHa/nexuses-service/img-HwfDqgnuLzDj0oFIwO8b8YS8.png?st=2025-09-25T12%3A29%3A16Z&se=2025-09-25T14%3A29%3A16Z&sp=r&sv=2024-08-04&sr=b&rscd=inline&rsct=image/png&skoid=b1a0ae1f-618f-4548-84fd-8b16cacd5485&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2025-09-25T05%3A49%3A57Z&ske=2025-09-26T05%3A49%3A57Z&sks=b&skv=2024-08-04&sig=gIKSnMtHcUOqDr80yXlQ9IEgpxjGeEE2rV/vEY368nU%3D\"\n }\n]",
"tools": "",
"error_text": "",
"conversation_id": ""
}
Сетевая ошибка
    { 
state: 'error', //статус "ошибка"
error_text: '"Status code: 400\" "{"id":"175887805121966914","nexus":"ain.whisperx-prod.audio_transcriptions","data":{},"error":"one of the `base64`|`url` fields are required for each file","code":400,"stream":false}"' //текст ошибки
}

constructor (nexusName, connectName)


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

ПараметрТипОбязательныйЗначение по умолчанию
nexusNameStringДаНет
connectNameStringДаНет

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

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

Пример:

constructor()
const aisync = new AISync(current.nexus.name),  // current.nexus.name - название нексуса

completion(prompt, messageOptions, conversation)


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
promptObjectДаНет
messageOptionsObjectНет{}
conversationObjectНетНет
  • Параметр prompt может обрабатывать:

    • произвольную строку.
    • объект или массив объектов вида: {role: roleValue, content: contentValue, files: [{fileObject},{fileObject}]}

    Вы можете указать ключ files внутри объекта prompt при работе с мультимодальными нексусами. Одномодальные нексусы игнорируют переданные файлы.

  • Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.

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

ТипОписание
ObjectОбъект содержащий информацию об ИИ сообщении.

Пример:

completion()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.qwen3.chat_completions');
const prompt = 'Test prompt';
const message = aisync.completion(prompt, {temperature: 0,6}, {uuid: '24b28927-d356-7eb0-b1ce-c8ea3c3f6c63'}); //с подключением разговора

createSpeech(prompt, messageOptions)


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
promptStringДаНет
messageOptionsObjectНет{}
  • Параметр prompt содержит текст, который необходимо преобразовать в аудиофайл.
  • Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.

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

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

Пример:

createSpeech()
ss.importIncludeScript('AISync');
const aisync = new AISync('oai.tts-1.audio_speech');
const prompt = 'Здравствуйте, меня зовут Екатерина. Я живу в небольшой деревне в сельской местности. Здесь очень красиво.';
const message = aisync.createSpeech(prompt);

formIdent(file, ident, messageOptions)


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

Параметры:

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

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

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

Пример:

formIdent()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.identification.get_ident_file');
const message = aisync.formIdent({ attachment_id: "111111111111111111" });

diarization(file, ident, messageOptions)


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

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

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

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

Параметры:

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

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

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

Пример:

diarization()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.identification.ident_diarize');
const message = aisync.diarization({ attachment_id: "111111111111111111" });

generate(prompt, messageOptions)


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
promptStringДаНет
messageOptionsObjectНет{}
  • С помощью параметра messageOptions вы можете переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.

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

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

Пример:

generate()
ss.importIncludeScript('AISync');
const aisync = new AISync('oai.dall-e-2.images_generations');
const prompt = 'Пингвин';
const message = aisync.generate(prompt);

recognitionVision(file, messageOptions)


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

Параметры:

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

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

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

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

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

Пример:

recognitionVision()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.ocr.doc-to-text');
const promptfile = {
"file_name": "Безымянный2.png",
"form_name": "file",
"base64": "khtjgiotko3p34734634ojhl6ijh34k634l6h3434iklh6b34jk",
"mime_type": ""
}
const message = aisync.recognitionVision(promptfile);

recognitionVoice(file, messageOptions)


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

Параметры:

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

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

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

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

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

Пример:

recognitionVoice()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.whisperx-prod.audio_transcriptions');
const promptfile = {
"file_name": "175344275325162797.mpeg",
"form_name": "file",
"base64": "khtjgiotko3p34734634ojhl6ijh34k634l6h3434iklh6b34jk",
"mime_type": ""
}
const message = aisync.recognitionVoice(promptfile);

processDocument(file, messageOptions)


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

Параметры:

ПараметрТипОбязательныйЗначение по умолчанию
fileArray или ObjectДаНет
messageOptionsObjectНет{}

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

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

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

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

Пример:

processDocument()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.ocr.process_document');
const promptfile = {
"file_name": "Закрывающие PAYM0006643 (1).jpg",
"form_name": "file",
"url": ""
}
const message = aisync.processDocument(promptfile);

setTimeout(timeout)


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

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

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

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

Пример:

setTimeout()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.qwen3.chat_completions');
const prompt = 'Test prompt';
aisync.setTimeout(3600);
const message = aisync.completion(prompt, {temperature: 0,6}, {uuid: '24b28927-d356-7eb0-b1ce-c8ea3c3f6c63'});

setUser(userId)


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

ПараметрТипОбязательныйОписание
userIdStringДаID пользователя, от имени которого будет запущен ИИ.

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

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

Пример:

setUser()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.qwen3.chat_completions');
const prompt = 'Test prompt';
aisync.setUser(AI_ASSISTANT_ID);
const message = aisync.completion(prompt, {temperature: 0,6}, {uuid: '24b28927-d356-7eb0-b1ce-c8ea3c3f6c63'});

setTag(tags)


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

ПараметрТипОбязательныйОписание
tagsStringДаЗначение тега.

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

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

Пример:

setTag()
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.qwen3.chat_completions');
const prompt = 'Test prompt';
aisync.setTag('UserQueryAnalysis');
const message = aisync.completion(prompt, {temperature: 0,6}, {uuid: '24b28927-d356-7eb0-b1ce-c8ea3c3f6c63'});