Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Автоматическая загрузка данных в Yandex SpeechSense с помощью Yandex Workflows
      • Интеграция SpeechSense с amoCRM
      • Интеграция SpeechSense с Битрикс24
      • Работа с AI-ассистентом в SpeechSense

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте сервисный аккаунт
  • Создайте API-ключ для сервисного аккаунта
  • Создайте пространство и привяжите платежный аккаунт
  • Добавьте сервисный аккаунт в пространство
  • Создайте подключение для чата
  • Создайте проект
  • Создайте AI-ассистента
  • Загрузите данные в проект
  • Проверьте результат работы AI-ассистента в интерфейсе SpeechSense
  • Получите информацию о диалоге с помощью API
  • Получите идентификаторы AI-ассистента и его поля
  • Получите информацию о диалоге
  • Удалите ресурсы
  1. Машинное обучение и искусственный интеллект
  2. Речевая аналитика
  3. Работа с AI-ассистентом в SpeechSense

Работа с AI-ассистентом в SpeechSense

Статья создана
Yandex Cloud
Обновлена 25 ноября 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
    • Создайте сервисный аккаунт
    • Создайте API-ключ для сервисного аккаунта
    • Создайте пространство и привяжите платежный аккаунт
    • Добавьте сервисный аккаунт в пространство
    • Создайте подключение для чата
    • Создайте проект
  • Создайте AI-ассистента
  • Загрузите данные в проект
  • Проверьте результат работы AI-ассистента в интерфейсе SpeechSense
  • Получите информацию о диалоге с помощью API
    • Получите идентификаторы AI-ассистента и его поля
    • Получите информацию о диалоге
  • Удалите ресурсы

Вы можете получить из диалога информацию, извлеченную с помощью AI-ассистента. Его можно подключать к аудиодиалогам и к чатам. В этом руководстве рассмотрено подключение к чатам. В качестве примера приведена переписка клиента с турагентством.

Чтобы получить нужную информацию из чата с помощью AI-ассистента:

  1. Подготовьте облако к работе.
  2. Подготовьте инфрастуктуру.
  3. Создайте AI-ассистента.
  4. Загрузите данные в проект.
  5. Проверьте результат работы AI-ассистента в интерфейсе SpeechSense.
  6. Получите информацию о диалоге с помощью API.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Для управления платежным аккаунтом у пользователя должна быть назначена роль billing.accounts.editor, billing.accounts.admin или billing.accounts.owner на нужный платежный аккаунт.

Примечание

Если вы не можете управлять ролями, обратитесь к администратору вашего облака или организации.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Сервис SpeechSense: количество символов в каждом текстовом диалоге (см. тарифы SpeechSense).
  • AI-ассистент: генерация текста (см. тарифы Yandex AI Studio). Тарификация за использование ассистента начинается с момента его включения.

Подготовьте инфраструктуруПодготовьте инфраструктуру

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Консоль управления
  1. В консоли управления выберите нужный каталог.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта, например speechsense.
  5. Нажмите кнопку Создать.

Создайте API-ключ для сервисного аккаунтаСоздайте API-ключ для сервисного аккаунта

Консоль управления
  1. В консоли управления выберите сервис Identity and Access Management.

  2. На панели слева выберите Сервисные аккаунты.

  3. Выберите сервисный аккаунт speechsense.

  4. На панели сверху нажмите кнопку Создать новый ключ и выберите Создать API-ключ.

  5. В поле Область действия выберите yc.speech-sense.use.

  6. Нажмите кнопку Создать.

  7. Сохраните идентификатор и секретный ключ — они понадобятся позднее.

    Внимание

    После закрытия диалога значение ключа будет недоступно.

Создайте пространство и привяжите платежный аккаунтСоздайте пространство и привяжите платежный аккаунт

Интерфейс SpeechSense
  1. Откройте главную страницу SpeechSense.
  2. Нажмите кнопку Создать пространство.
  3. Введите название пространства.
  4. Нажмите кнопку Создать.
  5. Привяжите платежный аккаунт к пространству для оплаты SpeechSense.

Добавьте сервисный аккаунт в пространствоДобавьте сервисный аккаунт в пространство

Интерфейс SpeechSense
  1. В интерфейсе SpeechSense перейдите в новое пространство.
  2. Нажмите кнопку Добавить участника → Добавить из организации.
  3. Скопируйте идентификатор созданного ранее сервисного аккаунта speechsense и вставьте в строку поиска.
  4. Выберите сервисный аккаунт speechsense и укажите роль Data editor. Эта роль позволит сервисному аккаунту загружать данные в SpeechSense.
  5. Нажмите кнопку Добавить.

Создайте подключение для чатаСоздайте подключение для чата

Интерфейс SpeechSense
  1. Откройте главную страницу SpeechSense.
  2. Перейдите в нужное пространство.
  3. Перейдите на вкладку Подключения.
  4. Нажмите кнопку Создать подключение → Пустая форма.
  5. Укажите название подключения, например chats-default-metadata.
  6. Выберите тип данных Чат.
  7. Нажмите кнопку Создать подключение.
  8. На открывшейся странице нажмите в левом верхнем углу кнопку ID, чтобы скопировать идентификатор созданного подключения. Сохраните этот идентификатор, он понадобится далее для загрузки данных в проект.

Создайте проектСоздайте проект

Интерфейс SpeechSense
  1. Откройте главную страницу SpeechSense.
  2. Перейдите в нужное пространство.
  3. Нажмите кнопку Создать проект.
  4. Введите имя проекта, например chats-travel-agency.
  5. В блоке Подключение нажмите Добавить подключение и выберите подключение chats-default-metadata.
  6. Нажмите кнопку Создать проект.
  7. На открывшейся странице нажмите в левом верхнем углу кнопку ID, чтобы скопировать идентификатор созданного проекта. Сохраните этот идентификатор, он понадобится далее для работы с API.

Создайте AI-ассистентаСоздайте AI-ассистента

Интерфейс SpeechSense
  1. Откройте главную страницу SpeechSense.

  2. Перейдите в нужное пространство, затем выберите проект chats-travel-agency.

  3. Выберите вкладку Ассистенты.

  4. Нажмите кнопку Создать ассистента.

  5. Задайте параметры ассистента:

    1. Введите название Тематика диалога.

    2. В блоке Инструкция введите промпт:

      Ты оцениваешь диалог оператора и клиента контактного центра. Будь крайне внимателен при ответе.
      Определи тематику, с которой обращается клиент, на основе следующего списка: Виза, Страна, Экскурсии.
      Если ничего из перечисленного не подходит, укажи значение «Иное».
      
    3. Выберите модель YandexGPT 5.1 Pro.

    4. В блоке Результат укажите:

      • Название поля — Тематика.
      • Тип поля — Строка.
      • Описание — Наиболее подходящая тематика.
  6. Включите блок Использование, чтобы активировать ассистента.

  7. Нажмите кнопку Создать.

Загрузите данные в проектЗагрузите данные в проект

Для работы с API Yandex Cloud потребуется Git, Python 3.6 или старше и пакет grpcio-tools. Узнайте, как установить Python.

  1. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  2. Установите пакет grpcio-tools с помощью менеджера пакетов pip:

    pip install grpcio-tools
    
  3. Перейдите в папку с репозиторием API Yandex Cloud, создайте папку upload_data, сгенерируйте в ней код интерфейса клиента и перейдите в папку upload_data:

    cd ~/cloudapi/ && \
    mkdir upload_data && \
    python3 -m grpc_tools.protoc -I . -I third_party/googleapis \
         --python_out=./upload_data/ \
         --grpc_python_out=./upload_data/ \
         google/api/http.proto \
         google/api/annotations.proto \
         yandex/cloud/api/operation.proto \
         google/rpc/status.proto \
         yandex/cloud/operation/operation.proto \
         yandex/cloud/validation.proto \
         yandex/cloud/speechsense/v1/*.proto \
         yandex/cloud/speechsense/v1/*/*.proto
    cd upload_data
    
  4. В папке upload_data создайте Python-скрипт upload_text.py, который загрузит переписку из чата в SpeechSense:

    import argparse
    import json
    from typing import Dict
    import grpc
    
    from yandex.cloud.speechsense.v1 import talk_service_pb2
    from yandex.cloud.speechsense.v1 import talk_service_pb2_grpc
    from yandex.cloud.speechsense.v1 import text_pb2
    from google.protobuf.timestamp_pb2 import Timestamp
    
    def upload_talk(connection_id: str, metadata: Dict[str, str], api_key: str, text_data):
       credentials = grpc.ssl_channel_credentials()
       channel = grpc.secure_channel('api.speechsense.yandexcloud.net:443', credentials)
    
       talk_service_stub = talk_service_pb2_grpc.TalkServiceStub(channel)
    
       messageList = []
       for message in text_data['messages']:
          timestamp = Timestamp()
          timestamp.FromJsonString(value=str(message['timestamp']))
          messageProto = text_pb2.Message(
             user_id=str(message['user_id']),
             text=text_pb2.TextPayload(text=str(message['text'])),
             timestamp=timestamp
          )
          messageList.append(messageProto)
    
       # Формирование запроса к API
       request = talk_service_pb2.UploadTextRequest(
          metadata=talk_service_pb2.TalkMetadata(
             connection_id=str(connection_id),
             fields=metadata),
          text_content=text_pb2.TextContent(
             messages=messageList)
       )
    
       # Тип аутентификации — API-ключ
       response = talk_service_stub.UploadText(request, metadata=(
          ('authorization', f'Api-Key {api_key}'),
       ))
    
       # Вывести идентификатор диалога
       print(f'Dialog ID: {response.talk_id}')
    
    if __name__ == '__main__':
       parser = argparse.ArgumentParser()
       parser.add_argument('--key', required=True, help='API key', type=str)
       parser.add_argument('--connection-id', required=True, help='Connection ID', type=str)
       parser.add_argument('--text-path', required=True, help='JSON with text chat data', type=str)
       parser.add_argument('--meta-path', required=False, help='JSON with the dialog metadata', type=str, default=None)
       args = parser.parse_args()
    
       with open(args.meta_path, 'r') as fp:
          metadata = json.load(fp)
    
       with open(args.text_path, 'r') as fp:
          text_data = json.load(fp)
       upload_talk(args.connection_id, metadata, args.key, text_data)
    
  5. В папке upload_data создайте файл metadata.json с метаданными разговора:

    {
       "operator_name": "Светлана",
       "operator_id": "24",
       "client_name": "Михаил",
       "client_id": "145",
       "date": "2025-12-01T12:34:19+03:00",
       "direction_outgoing": "false",
       "language": "ru-ru"
    }
    
  6. В папке upload_data создайте файл chat.json с текстовыми сообщениями:

    {
       "messages": [
          {
             "user_id": 145,
             "text" : "Здравствуйте, есть ли у вас экскурсионные туры?",
             "timestamp" : "2025-12-01T12:34:19+03:00"
          },
          {
             "user_id": 24,
             "text" : "Здравствуйте, Михаил. Да, есть экскурсионные туры в Европу и Азию. Какое направление вас интересует?",
             "timestamp" : "2025-12-01T12:35:45+03:00"
          },
          {
             "user_id": 145,
             "text" : "А в какие страны Азии можно поехать без визы?",
             "timestamp" : "2025-12-01T12:37:14+03:00"
          },
          {
             "user_id": 24,
             "text" : "Южная Корея.",
             "timestamp" : "2025-12-01T12:38:55+03:00"
          },
          {
             "user_id": 145,
             "text" : "Спасибо, я подумаю. До свидания.",
             "timestamp" : "2025-12-01T12:41:21+03:00"
          },
          {
             "user_id": 24,
             "text" : "До свидания.",
             "timestamp" : "2025-12-01T12:41:50+03:00"
          }
       ]
    }
    
  7. Задайте API-ключ сервисного аккаунта:

    export API_KEY=<секретная_часть_API-ключа>
    
  8. Запустите скрипт upload_text.py:

    python3 upload_text.py \
       --text-path chat.json \
       --meta-path metadata.json \
       --connection-id <идентификатор_подключения> \
       --key ${API_KEY}
    

    Результат:

    Dialog ID: audh5bbnrstk********
    

    Сохраните идентификатор созданного диалога, он понадобится далее для работы с API.

Проверьте результат работы AI-ассистента в интерфейсе SpeechSenseПроверьте результат работы AI-ассистента в интерфейсе SpeechSense

Чтобы посмотреть, какую тематику определил AI-ассистент для диалога:

  1. Откройте главную страницу SpeechSense.
  2. Перейдите в нужное пространство, затем выберите проект chats-travel-agency.
  3. На вкладке Диалоги включите опцию Ассистенты.

Под строкой диалога отобразится строка с указанием тематики Экскурсии. Эту тематику AI-ассистент определил как наиболее подходящую диалогу.

Получите информацию о диалоге с помощью APIПолучите информацию о диалоге с помощью API

Получите идентификаторы AI-ассистента и его поляПолучите идентификаторы AI-ассистента и его поля

REST API
gRPC API

Воспользуйтесь методом Assistants.List и выполните запрос, например с помощью cURL:

curl \
    --request POST \
    --header "Authorization: Api-Key $API_KEY" \
    --url 'https://rest-api.speechsense.yandexcloud.net/speechsense/v1/assistants/list' \
    --data '{
              "projectId": "<идентификатор_проекта>"
            }'

Результат:

{
  "assistants": [
    {
      "id": "eagdf4es87u0********",
      "project_id": "eags34o1skdi********",
      "model_id": "YGPT_LITE",
      "name": "Тематика диалога",
      "description": "",
      "prompt": "Ты оцениваешь диалог оператора и клиента контактного центра. Будь крайне внимателен при ответе. \nОпредели тематику, с которой обращается клиент, на основе следующего списка: Виза, Страна, Экскурсии. \nЕсли ничего из перечисленного не подходит, укажи значение «Иное».",
      "fields": [
        {
          "id": "eagldsqk9fp4********",
          "name": "Тематика",
          "description": "Наиболее подходящая тематика.",
          "type": "ASSISTANT_FIELD_TYPE_STRING"
        }
      ],
      "enabled": true,
      "labels": {},
      "created_at": "2025-11-13T23:38:00.686738Z",
      "created_by": "ajegrmkclceh********",
      "modified_at": "2025-11-14T01:32:48.358727Z",
      "modified_by": "ajegrmkclceh********"
    }
  ]
}

Воспользуйтесь вызовом AssistantsService.List и выполните запрос, например с помощью gRPCurl:

grpcurl \
  -format json \
  -import-path ~/cloudapi/ \
  -import-path ~/cloudapi/third_party/googleapis/ \
  -proto ~/cloudapi/yandex/cloud/speechsense/v1/assistants_service.proto \
  -rpc-header "Authorization: Api-Key $API_KEY" \
  -d '{
        "project_id": "<идентификатор_проекта>"
      }' \
  api.speechsense.yandexcloud.net:443 \
  yandex.cloud.speechsense.v1.AssistantsService.List

Результат:

{
  "assistants": [
    {
      "id": "eagdf4es87u0********",
      "projectId": "eags34o1skdi********",
      "modelId": "YGPT_LITE",
      "name": "Тематика диалога",
      "prompt": "Ты оцениваешь диалог оператора и клиента контактного центра. Будь крайне внимателен при ответе. \nОпредели тематику, с которой обращается клиент, на основе следующего списка: Виза, Страна, Экскурсии. \nЕсли ничего из перечисленного не подходит, укажи значение «Иное».",
      "fields": [
        {
          "id": "eagldsqk9fp4********",
          "name": "Тематика",
          "description": "Наиболее подходящая тематика.",
          "type": "ASSISTANT_FIELD_TYPE_STRING"
        }
      ],
      "enabled": true,
      "createdAt": "2025-11-13T23:38:00.686738Z",
      "createdBy": "ajegrmkclceh********",
      "modifiedAt": "2025-11-14T01:32:48.358727Z",
      "modifiedBy": "ajegrmkclceh********"
    }
  ]
}

Сохраните значения полей:

  • assistants.id — идентификатор AI-ассистента Тематика диалога.
  • assistants.fields.id — идентификатор поля Тематика.

Получите информацию о диалогеПолучите информацию о диалоге

REST API
gRPC API

Воспользуйтесь методом Talk.Get и выполните запрос, например с помощью cURL:

curl \
    --request POST \
    --header "Authorization: Api-Key $API_KEY" \
    --url 'https://rest-api.speechsense.yandexcloud.net/speechsense/v1/talks/get' \
    --data '{
              "projectId": "<идентификатор_проекта>",
              "talkIds": [
                "string"
              ],
              "resultsMask": 
                {
                  "paths": [
                    "assistants"
                  ]
                }
            }'

Результат:

{
  "talk": [
    {
      "id": "audh5bbnrstk********",
      "organization_id": "********",
      "space_id": "f3fuclf1kufs********",
      "connection_id": "eagojm8e3bfv********",
      "project_ids": [
        "eags34o1skdi********"
      ],
      ...
      "assistants": {
        "assistant_results": [
          {
            "assistant_id": "eagdf4es87u0********",
            "results": [
              {
                "field_id": "eagldsqk9fp4********",
                "string_result": "Экскурсии"
              }
            ]
          }
        ]
      },
      ...
    }
  ]
}

Вы можете найти значение тематики для диалога при помощи поиска по сохраненным ранее идентификаторам AI-ассистента и поля. Нужное значение находится в поле talk.assistants.assistant_results.results.string_result: Экскурсии.

Воспользуйтесь вызовом TalkService.Get и выполните запрос, например с помощью gRPCurl:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/speechsense/v1/talk_service.proto \
    -rpc-header "Authorization: Api-Key $API_KEY" \
    -d '{
          "project_id": "<идентификатор_проекта>",
          "talk_ids": [
            <идентификатор_диалога>
          ],
          "results_mask": 
            {
              "paths": [
                "assistants"
              ]
            }
        }' \
    api.speechsense.yandexcloud.net:443 \
    yandex.cloud.api.speechsense.v1.TalkService.Get

Результат:

{
  "talk": [
    {
      "id": "audh5bbnrstk********",
      "organizationId": "********",
      "spaceId": "f3fuclf1kufs********",
      "connectionId": "eagojm8e3bfv********",
      "projectIds": [
        "eags34o1skdi********"
      ],
      ...
      "assistants": {
        "assistantResults": [
          {
            "assistantId": "eagdf4es87u0********",
            "results": [
              {
                "fieldId": "eagldsqk9fp4********",
                "stringResult": "Экскурсии"
              }
            ]
          }
        ]
      },
      ...
    }
  ]
}

Вы можете найти значение тематики для диалога при помощи поиска по сохраненным ранее идентификаторам AI-ассистента и поля. Нужное значение находится в поле talk.assistants.assistantResults.results.stringResult: Экскурсии.

Удалите ресурсыУдалите ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите проект SpeechSense, если вы больше не будете его использовать. AI-ассистент будет удален при удалении проекта.

Была ли статья полезна?

Предыдущая
Интеграция SpeechSense с Битрикс24
Следующая
Реализация AI-ассистента с поиском по PDF-файлам со сложным форматированием
Проект Яндекса
© 2025 ООО «Яндекс.Облако»