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

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

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

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

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

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

Register Provider Token in Blueprint

Функциональность текстового чата

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

Нестриминговые чат-запросы

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

Send OpenAI Chat Request

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

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

Отправка потокового чат-запроса OpenAI

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

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

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

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

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

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

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

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

Send OpenAI Streaming TTS Request

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

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

Get Google Cloud Voices

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

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

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

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

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

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

Рекомендации по использованию

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

Решение проблем

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