Pular para o conteúdo principal

Como usar o plugin

O Runtime AI Chatbot Integrator fornece duas funcionalidades principais: chat de Texto-para-Texto e Texto-para-Voz (TTS). Ambas as funcionalidades seguem um fluxo de trabalho similar:

  1. Registre seu token do provedor de API
  2. Configure as configurações específicas da funcionalidade
  3. Envie solicitações e processe as respostas

Registrar Token do Provedor

Antes de enviar qualquer solicitação, registre seu token do provedor de API usando a função RegisterProviderToken.

nota

O Ollama é executado localmente e não requer um token de API. Você pode pular esta etapa para o Ollama.

Registrar Token do Provedor em Blueprint

Funcionalidade de Chat de Texto para Texto

O plugin suporta dois modos de solicitação de chat para cada provedor:

Solicitações de Chat Não-Streaming

Recupere a resposta completa em uma única chamada.

Enviar Solicitação de Chat OpenAI

Streaming de Solicitações de Chat

Receba fragmentos de resposta em tempo real para uma interação mais dinâmica.

Enviar Solicitação de Chat com Streaming da OpenAI

Funcionalidade de Texto para Fala (TTS)

Converta texto em áudio de fala de alta qualidade usando provedores líderes de TTS. O plugin retorna dados de áudio brutos (TArray<uint8>) que você pode processar de acordo com as necessidades do seu projeto.

Embora os exemplos abaixo demonstrem o processamento de áudio para reprodução usando o plugin Runtime Audio Importer (veja a documentação de importação de áudio), o Runtime AI Chatbot Integrator foi projetado para ser flexível. O plugin simplesmente retorna os dados de áudio brutos, dando a você total liberdade sobre como processá-los para seu caso de uso específico, o que pode incluir reprodução de áudio, salvamento em arquivo, processamento de áudio adicional, transmissão para outros sistemas, visualizações personalizadas e muito mais.

Solicitações TTS Não-Streaming

Solicitações TTS não-streaming retornam os dados de áudio completos em uma única resposta após todo o texto ter sido processado. Essa abordagem é adequada para textos mais curtos onde esperar pelo áudio completo não é problemático.

Enviar Solicitação TTS da OpenAI

Streaming de Solicitações TTS

O Streaming TTS entrega fragmentos de áudio conforme são gerados, permitindo que você processe os dados de forma incremental em vez de esperar que todo o áudio seja sintetizado. Isso reduz significativamente a latência percebida para textos mais longos e permite aplicações em tempo real. O ElevenLabs Streaming TTS também suporta funções avançadas de streaming em fragmentos para cenários de geração de texto dinâmico.

Enviar Solicitação de Streaming TTS da OpenAI

Obtendo Vozes Disponíveis

Alguns provedores de TTS oferecem APIs de listagem de vozes para descobrir vozes disponíveis programaticamente.

Get Google Cloud Voices

Listando Modelos Ollama

Você pode consultar sua instância local do Ollama para todos os modelos disponíveis usando a função ListOllamaModels. Isso pode ser útil, por exemplo, para preencher dinamicamente um seletor de modelos em sua interface do usuário. O auxiliar GetModelNames extrai apenas as strings de nome do resultado para conveniência.

Listar Modelos Ollama

Tratamento de Erros

Ao enviar qualquer solicitação, é crucial lidar com possíveis erros verificando o ErrorStatus no seu callback. O ErrorStatus fornece informações sobre quaisquer problemas que possam ocorrer durante a solicitação.

Tratamento de Erros

Cancelando Solicitações

O plugin permite que você cancele tanto as solicitações de texto-para-texto quanto as de TTS enquanto elas estão em andamento. Isso pode ser útil quando você deseja interromper uma solicitação de longa duração ou alterar o fluxo da conversa dinamicamente.

Cancelar Solicitação

Melhores Práticas

  1. Sempre trate possíveis erros verificando o ErrorStatus em seu callback
  2. Esteja atento aos limites de taxa e custos da API para cada provedor
  3. Use o modo de streaming para conversas longas ou interativas
  4. Considere cancelar solicitações que não são mais necessárias para gerenciar recursos de forma eficiente
  5. Use TTS com streaming para textos mais longos para reduzir a latência percebida
  6. Para processamento de áudio, o plugin Runtime Audio Importer oferece uma solução conveniente, mas você pode implementar processamento personalizado com base nas necessidades do seu projeto
  7. Ao usar modelos de raciocínio (DeepSeek Reasoner, Grok), trate as saídas de raciocínio e de conteúdo apropriadamente
  8. Descubra vozes disponíveis usando APIs de listagem de vozes antes de implementar recursos de TTS
  9. Para streaming em blocos do ElevenLabs: Use o modo contínuo quando o texto for gerado incrementalmente (como respostas de IA) e o modo imediato para blocos de texto pré-formados
  10. Configure tempos limite de descarga apropriados para o modo contínuo para equilibrar responsividade com fluxo de fala natural
  11. Escolha tamanhos de bloco ideais e atrasos de envio com base nos requisitos de tempo real da sua aplicação
  12. Para Ollama: Use ListOllamaModels para descobrir dinamicamente os modelos disponíveis em vez de codificar nomes de modelos

Solução de Problemas

  • Verifique se suas credenciais de API estão corretas para cada provedor
  • Verifique sua conexão com a internet
  • Certifique-se de que quaisquer bibliotecas de processamento de áudio que você usa (como o Runtime Audio Importer) estejam devidamente instaladas ao trabalhar com recursos de TTS
  • Verifique se você está usando o formato de áudio correto ao processar dados de resposta de TTS
  • Para TTS com streaming, certifique-se de que está lidando corretamente com os blocos de áudio
  • Para modelos de raciocínio, certifique-se de que está processando tanto as saídas de raciocínio quanto as de conteúdo
  • Consulte a documentação específica do provedor para disponibilidade e capacidades do modelo
  • Para streaming em blocos do ElevenLabs: Certifique-se de chamar FinishChunkedStreaming quando terminar para fechar a sessão corretamente
  • Para problemas no modo contínuo: Verifique se os limites das frases são detectados corretamente em seu texto
  • Para aplicações em tempo real: Ajuste os atrasos de envio de blocos e os tempos limite de descarga com base em seus requisitos de latência
  • Para Ollama: Certifique-se de que o servidor Ollama esteja em execução e acessível no BaseUrl configurado antes de enviar solicitações