Перейти к основному содержимому

Как использовать плагин

Runtime AI Chatbot Integrator предоставляет две основные функции: чат "Текст-в-Текст" и преобразование текста в речь (TTS). Обе функции следуют схожему рабочему процессу:

  1. Зарегистрируйте токен вашего API-провайдера
  2. Настройте параметры, специфичные для функции
  3. Отправляйте запросы и обрабатывайте ответы

Регистрация токена провайдера

Перед отправкой любых запросов зарегистрируйте токен вашего API-провайдера с помощью функции RegisterProviderToken.

Регистрация токена провайдера в Blueprint

Функциональность текстового чата (Text-to-Text)

Плагин поддерживает два режима отправки запросов в чат для каждого провайдера:

Непотоковые запросы в чат (Non-Streaming Chat Requests)

Получение полного ответа одним вызовом.

Send OpenAI Chat Request

Потоковые запросы чата

Получайте фрагменты ответов в реальном времени для более динамичного взаимодействия.

Send OpenAI Streaming Chat Request

Функциональность преобразования текста в речь (TTS)

Преобразуйте текст в высококачественное аудио с помощью ведущих провайдеров TTS. Плагин возвращает необработанные аудиоданные (TArray<uint8>), которые вы можете обработать в соответствии с потребностями вашего проекта.

Хотя приведенные ниже примеры демонстрируют обработку аудио для воспроизведения с помощью плагина Runtime Audio Importer (см. документацию по импорту аудио), Runtime AI Chatbot Integrator разработан для гибкости. Плагин просто возвращает необработанные аудиоданные, предоставляя вам полную свободу в их обработке для вашего конкретного случая использования, который может включать воспроизведение аудио, сохранение в файл, дальнейшую обработку аудио, передачу в другие системы, пользовательскую визуализацию и многое другое.

Непотоковые запросы TTS

Непотоковые запросы TTS возвращают полные аудиоданные одним ответом после обработки всего текста. Этот подход подходит для коротких текстов, где ожидание полного аудио не является проблемой.

Send OpenAI TTS Request

Потоковые запросы TTS

Потоковый TTS доставляет аудиофрагменты по мере их генерации, позволяя обрабатывать данные инкрементально, а не ждать синтеза всего аудио целиком. Это значительно снижает воспринимаемую задержку для длинных текстов и позволяет создавать приложения реального времени. ElevenLabs Streaming TTS также поддерживает расширенные функции потоковой передачи фрагментами для сценариев динамической генерации текста.

Отправить запрос OpenAI Streaming TTS

Получение доступных голосов

Некоторые провайдеры TTS предлагают API для перечисления голосов, чтобы программно обнаруживать доступные варианты.

Get Google Cloud Voices

Обработка ошибок

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

Обработка ошибок

Отмена запросов

Плагин позволяет отменять как текстовые запросы, так и запросы на синтез речи (TTS), пока они выполняются. Это может быть полезно, когда нужно прервать длительный запрос или динамически изменить ход беседы.

Cancel Request

Рекомендации

  1. Всегда обрабатывайте потенциальные ошибки, проверяя ErrorStatus в вашем колбэке
  2. Учитывайте лимиты запросов API и стоимость для каждого провайдера
  3. Используйте режим стриминга для длинных или интерактивных диалогов
  4. Рассмотрите возможность отмены запросов, которые больше не нужны, для эффективного управления ресурсами
  5. Используйте стриминг TTS для длинных текстов, чтобы снизить воспринимаемую задержку
  6. Для обработки аудио плагин Runtime Audio Importer предлагает удобное решение, но вы можете реализовать собственную обработку в зависимости от потребностей вашего проекта
  7. При использовании моделей с рассуждениями (DeepSeek Reasoner, Grok) корректно обрабатывайте как вывод рассуждений, так и контента
  8. Перед реализацией функций TTS узнайте доступные голоса с помощью API для получения списка голосов
  9. Для чанкового стриминга ElevenLabs: используйте непрерывный режим, когда текст генерируется постепенно (как ответы ИИ), и немедленный режим для заранее сформированных текстовых фрагментов
  10. Настройте соответствующие таймауты сброса для непрерывного режима, чтобы сбалансировать отзывчивость и естественный поток речи
  11. Выбирайте оптимальный размер фрагментов и задержки отправки в зависимости от требований к реальному времени вашего приложения

Устранение неполадок

  • Убедитесь, что ваши учетные данные API верны для каждого провайдера
  • Проверьте подключение к интернету
  • Убедитесь, что любые используемые библиотеки обработки аудио (такие как Runtime Audio Importer) правильно установлены при работе с функциями TTS
  • Убедитесь, что вы используете правильный аудиоформат при обработке данных ответа TTS
  • Для стриминга TTS убедитесь, что вы правильно обрабатываете аудиофрагменты
  • Для моделей с рассуждениями убедитесь, что вы обрабатываете как вывод рассуждений, так и контента
  • Проверьте документацию конкретного провайдера на предмет доступности и возможностей моделей
  • Для чанкового стриминга ElevenLabs: убедитесь, что вы вызываете FinishChunkedStreaming по завершении, чтобы правильно закрыть сессию
  • При проблемах с непрерывным режимом: проверьте, что границы предложений правильно определяются в вашем тексте
  • Для приложений реального времени: настройте задержки отправки фрагментов и таймауты сброса в соответствии с вашими требованиями к задержке