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)
Используйте этот конструктор класса, чтобы создать объект класса и определить вызываемый нексус и профиль настроек. По умолчанию используется дефолтный профиль настроек.
Параметр | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
nexusName | String | Да | Нет |
connectName | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
const aisync = new AISync(current.nexus.name), // current.nexus.name - название нексуса
completion(prompt, messageOptions, conversation)
Используйте этот метод для отправки сообщения в ИИ сервис чата.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
prompt | Object | Да | Нет |
messageOptions | Object | Нет | {} |
conversation | Object | Нет | Нет |
-
Параметр prompt может обрабатывать:
- произвольную строку.
- объект или массив объектов вида:
{role: roleValue, content: contentValue, files: [{fileObject},{fileObject}]}
Вы можете указать ключ files внутри объекта prompt при работе с мультимодальными нексусами. Одномодальные нексусы игнорируют переданные файлы.
-
Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
Object | Объект содержащий информацию об ИИ сообщении. |
Пример:
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)
Используйте этот метод для отправки сообщения в ИИ-сервис работы с аудио для генерации аудиофайла на основании указанного текста.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
prompt | String | Да | Нет |
messageOptions | Object | Нет | {} |
- Параметр prompt содержит текст, который необходимо преобразовать в аудиофайл.
- Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
ss.importIncludeScript('AISync');
const aisync = new AISync('oai.tts-1.audio_speech');
const prompt = 'Здравствуйте, меня зовут Екатерина. Я живу в небольшой деревне в сельской местности. Здесь очень красиво.';
const message = aisync.createSpeech(prompt);
formIdent(file, ident, messageOptions)
Используйте этот метод для формирования данных параметра ident, которые используются для идентификации участников разговора.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
file | Object | Да | Нет |
messageOptions | Object | Нет | {} |
ident | Object | Нет | null |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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]}
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
file | Object | Да | Нет |
ident | Object | Нет | null |
messageOptions | Object | Нет | {} |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
ss.importIncludeScript('AISync');
const aisync = new AISync('ain.identification.ident_diarize');
const message = aisync.diarization({ attachment_id: "111111111111111111" });
generate(prompt, messageOptions)
Используйте этот метод для отправки сообщения в ИИ-сервис для создания медиафайла на основании текста.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
prompt | String | Да | Нет |
messageOptions | Object | Нет | {} |
- С помощью параметра messageOptions вы можете переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
ss.importIncludeScript('AISync');
const aisync = new AISync('oai.dall-e-2.images_generations');
const prompt = 'Пингвин';
const message = aisync.generate(prompt);
recognitionVision(file, messageOptions)
Используйте метод для отправки сообщения в ИИ-сервис для работы с документами для транскрибирования исходного файла в текст.
Параметры:
Параметр | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
file | Array или Object | Да | Нет |
messageOptions | Object | Нет | {} |
- Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае наличия base64 и url одновременно, приоритет отдается base64.
Ключи, которые могут быть обработаны:
Поле | Тип | Обязательно | Значение |
---|---|---|---|
file_name | String | Да | Имя файла и расширение |
mime_type | String | Да | mime_type файла |
base64 | String | Нет | Строка base64 |
url | String | Нет | URL файла |
- Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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)
Используйте метод для отправки сообщения в ИИ-сервис для работы с документами для транскрибирования исходного файла в текст.
Параметры:
Параметр | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
file | Array или Object | Да | Нет |
messageOptions | Object | Нет | {} |
- Параметр file является либо объектом либо массивом объектов, которые содержат ключи, указанные ниже. В случае наличия base64 и url одновременно, приоритет отдается base64.
Ключи, которые могут быть обработаны:
Поле | Тип | Обязательно | Значение |
---|---|---|---|
file_name | String | Да | Имя файла и расширение |
mime_type | String | Да | mime_type файла |
base64 | String | Нет | Строка base64 |
url | String | Нет | URL файла |
- Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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.
Параметры:
Параметр | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
file | Array или Object | Да | Нет |
messageOptions | Object | Нет | {} |
Ключи, которые могут быть обработаны:
Поле | Тип | Обязательно | Значение |
---|---|---|---|
file_name | String | Да | Имя файла и расширение |
mime_type | String | Да | mime_type файла |
base64 | String | Нет | строка base64 |
url | String | Нет | URL файла |
- Параметр messageOptions позволяет переопределить дефолтные и дополнить отсутствующие опции нексуса при отправке запроса к сервису.
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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.
Параметр | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
timeout | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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)
Используйте метод, чтобы инициировать работу ИИ от имени заданного в параметре пользователя. В результате имя пользователя будет добавлено в тело сформированного сообщения.
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
userId | String | Да | ID пользователя, от имени которого будет запущен ИИ. |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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)
Используйте этот метод, чтобы добавить в тело сообщения тег для определения в ходе анализа, в рамках какого механизма это сообщение было отправлено.
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
tags | String | Да | Значение тега. |
Возвращаемое значение:
Тип | Описание |
---|---|
undefined | Метод не возвращает значения. |
Пример:
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'});