OpenAI
A Evolution API permite a criação e gerenciamento de bots utilizando a tecnologia OpenAI, permitindo interações automatizadas e personalizadas através de assistentes virtuais ou modelos de chat completions. A seguir, você encontrará instruções detalhadas sobre como configurar credenciais, criar bots, gerenciar sessões e definir configurações padrão, incluindo o uso de reconhecimento de fala (speech-to-text).
1. Criação de Credenciais do OpenAI
Antes de criar bots, é necessário configurar as credenciais da API do OpenAI. Isso é feito utilizando o endpoint /openai/creds/{{instance}}
.
Endpoint para Criação de Credenciais
Endpoint
Corpo da Requisição
Aqui está um exemplo de como cadastrar uma nova credencial do OpenAI:
Explicação dos Parâmetros
name
: Nome identificador da credencial.apiKey
: Chave da API fornecida pelo OpenAI.
2. Criação de Bots com OpenAI
Após configurar as credenciais, você pode criar vários bots que utilizam o sistema de triggers para iniciar as interações. Isso pode ser feito através do endpoint /openai/create/{{instance}}
.
Endpoint para Criação de Bots
Endpoint
Corpo da Requisição
Aqui está um exemplo de como criar um bot utilizando OpenAI:
Explicação dos Parâmetros
enabled
: Ativa (true
) ou desativa (false
) o bot.openaiCredsId
: ID da credencial cadastrada anteriormente.botType
: Tipo do bot (assistant
ouchatCompletion
).- Para Assistentes (
assistant
):assistantId
: ID do assistente OpenAI.functionUrl
: URL que será chamada caso o assistente necessite realizar uma ação.
- Para Chat Completion (
chatCompletion
):model
: Modelo do OpenAI a ser utilizado (ex.:gpt-4
).systemMessages
: Mensagens que configuram o comportamento do bot.assistantMessages
: Mensagens iniciais do bot.userMessages
: Mensagens de exemplo do usuário.maxTokens
: Número máximo de tokens utilizados na resposta.
- Para Assistentes (
- Opções:
triggerType
: Tipo de trigger para iniciar o bot (all
oukeyword
).triggerOperator
: Operador utilizado para avaliar o trigger (contains
,equals
,startsWith
,endsWith
,regex
,none
).triggerValue
: Valor utilizado no trigger (por exemplo, uma palavra-chave ou regex).expire
: Tempo em minutos após o qual o bot expira, reiniciando se a sessão expirou.keywordFinish
: Palavra-chave que encerra a sessão do bot.delayMessage
: Delay (em milissegundos) para simular a digitação antes de enviar uma mensagem.unknownMessage
: Mensagem enviada quando a entrada do usuário não é reconhecida.listeningFromMe
: Define se o bot deve escutar as mensagens enviadas pelo próprio usuário (true
oufalse
).stopBotFromMe
: Define se o bot deve parar quando o próprio usuário envia uma mensagem (true
oufalse
).keepOpen
: Mantém a sessão aberta, evitando que o bot seja reiniciado para o mesmo contato.debounceTime
: Tempo (em segundos) para juntar várias mensagens em uma só.ignoreJids
: Lista de JIDs de contatos que não ativarão o bot.
3. Gerenciamento de Sessões do OpenAI
Você pode gerenciar as sessões do bot, alterando o status entre aberta, pausada ou fechada para cada contato específico.
Endpoint para Gerenciamento de Sessões
Endpoint
Corpo da Requisição
Aqui está um exemplo de como gerenciar o status da sessão:
Explicação dos Parâmetros
remoteJid
: JID (identificador) do contato no WhatsApp.status
: Status da sessão (opened
,paused
,closed
).
4. Configurações Padrão do OpenAI
Você pode definir configurações padrão que serão aplicadas caso os parâmetros não sejam passados durante a criação do bot. Inclui também a opção de usar reconhecimento de fala (speech-to-text).
Endpoint para Configurações Padrão
Endpoint
Corpo da Requisição
Aqui está um exemplo de configuração padrão:
Explicação dos Parâmetros
openaiCredsId
: ID da credencial do OpenAI a ser usada como padrão.expire
: Tempo em minutos após o qual o bot expira.keywordFinish
: Palavra-chave que encerra a sessão do bot.delayMessage
: Delay para simular a digitação antes de enviar uma mensagem.unknownMessage
: Mensagem enviada quando a entrada do usuário não é reconhecida.listeningFromMe
: Define se o bot deve escutar as mensagens enviadas pelo próprio usuário.stopBotFromMe
: Define se o bot deve parar quando o próprio usuário envia uma mensagem.keepOpen
: Mantém a sessão aberta, evitando que o bot seja reiniciado para o mesmo contato.debounceTime
: Tempo para juntar várias mensagens em uma só.ignoreJids
: Lista de JIDs de contatos que não ativarão o bot.openaiIdFallback
: ID do bot de fallback que será utilizado caso nenhum trigger seja ativado.speechToText
: Define se a funcionalidade de reconhecimento de fala (speech-to-text) deve ser ativada usando a credencial definida por padrão.
Webhook com speechToText
Quando o parâmetro speechToText
está ativado, a Evolution API converte automaticamente os áudios recebidos em texto utilizando a credencial do OpenAI. A transcrição do áudio é então incluída no webhook enviado pela API.
Exemplo de Webhook com speechToText
Considerações Finais
A integração da Evolution API com o OpenAI oferece uma maneira poderosa de automatizar interações no WhatsApp, utilizando a inteligência artificial para fornecer respostas dinâmicas e personalizadas. Com as configurações corretas, você pode criar assistentes virtuais altamente eficientes, gerenciar sessões e definir configurações padrão, incluindo o uso de reconhecimento de fala para converter áudios em texto automaticamente.