2.5 KiB
2.5 KiB
Walkthrough - Captain Assistant Enhancements
Nesta etapa, implementamos a infraestrutura para suporte multi-LLM, uma nova interface de Ferramentas (Skills) para os assistentes e a lógica de transbordo humano.
🚀 O que mudou?
1. Configuração Multi-LLM
Agora é possível configurar o Provedor (OpenAI ou Gemini) e o Modelo específico diretamente nas configurações básicas do Assistente no Chatwoot.
- Arquivos:
AssistantBasicSettingsForm.vue,AssistantsController.rb. - Benefício: Flexibilidade para usar modelos mais baratos (Flash) para triagem e modelos potentes para vendas.
2. Interface de Ferramentas (Skills)
Criamos uma nova aba "Skills (Tools)" nas configurações do assistente que permite ativar e configurar ferramentas externas.
- Backend: Modelo
Captain::ToolConfig,Captain::ToolsController, Rotas aninhadas. - Frontend:
Tools/Index.vue, Store e API atualizados. - Ferramentas Disponíveis:
status_suites,maria_fotos,escalar_humano.
3. Transbordo Humano (Handoff)
A ferramenta escalar_humano foi integrada ao pipeline de resposta do Captain.
- Lógica: Quando o
JasmineBraindetecta a intenção de falar com um humano, ele dispara a ferramenta. - Efeitos Colaterais:
- Adição da label
desligar_ia. - Desativação da IA no atributo customizado da conversa.
- Retorno de
conversation_handoffpara o Chatwoot, fazendo com que o bot seja desatribuído e a equipe notificada.
- Adição da label
🛠 Como Verificar
Configuração LLM
- Acesse as configurações de um Assistente.
- Altere o provedor para Gemini e salve.
- Verifique se as configurações persistem ao recarregar a página.
Skills (Tools)
- Vá para a aba Skills (Tools) no menu lateral do Assistente.
- Ative a ferramenta Check suite availability.
- Insira uma URL de Webhook ou IDs do Plug&Play e saia do campo para salvar (Auto-save no blur).
- Verifique no banco de dados:
Captain::ToolConfig.lastdeve refletir as mudanças.
Handoff
- Envie uma mensagem que exija transbordo (ex: "Quero falar com um atendente").
- O Log do Rails deve mostrar a detecção de intenção e a execução da ferramenta.
- A conversa deve ser marcada com a label
desligar_iae o bot deve parar de responder.
📝 Notas Técnicas
- O
ToolRunneragora busca configurações priorizando o Assistente (captain_assistant_id), mantendo compatibilidade com Inboxeslegadas. - O
AssistantChatServiceatua como orquestrador entre o Cerebelo (JasmineBrain) e o Corpo (ToolRunner).