Sugestões de raciocínio
Este fluxo gera uma resposta final com justificação. Para isso, primeiro crie uma justificação lógica e, em seguida, integre-a na resposta antes de enviá-la.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
Prompt-vq8my[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt para generar justificación]
style Prompt-vq8my stroke:#a170ff
OpenAIModel-d3dpa[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>Genera Justificación]
style OpenAIModel-d3dpa stroke:#a170ff
Prompt-tma9i[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt]
style Prompt-tma9i stroke:#a170ff
OpenAIModel-1tbks[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>Genera Respuesta]
style OpenAIModel-1tbks stroke:#a170ff
ChatInput-6u0w8[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Input]
style ChatInput-6u0w8 stroke:#a170ff
CombineText-hw2cy[Combina la justificacion con la respuesta]
style CombineText-hw2cy stroke:#a170ff
ChatOutput-k57y4[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-k57y4 stroke:#a170ff
Prompt-vq8my -.- OpenAIModel-d3dpa
linkStyle 0 stroke:#a170ff
OpenAIModel-d3dpa -.- Prompt-tma9i
linkStyle 1 stroke:#a170ff
Prompt-tma9i -.- OpenAIModel-1tbks
linkStyle 2 stroke:#a170ff
ChatInput-6u0w8 -.- Prompt-vq8my
linkStyle 3 stroke:#a170ff
ChatInput-6u0w8 -.- Prompt-tma9i
linkStyle 4 stroke:#a170ff
OpenAIModel-1tbks -.- CombineText-hw2cy
linkStyle 5 stroke:#a170ff
CombineText-hw2cy -.- ChatOutput-k57y4
linkStyle 6 stroke:#a170ff
OpenAIModel-d3dpa -.- CombineText-hw2cy
linkStyle 7 stroke:#a170ff
Fluxo de Trabalho – Resposta Justificada Automática
🧩 Visão Geral
Este fluxo de trabalho gera automaticamente uma resposta completamente justificada para a pergunta do usuário.
Primeiro, ele produz uma racionalização (justificativa), depois integra essa justificativa à resposta final antes de entregar o resultado na interface de chat.
⚙️ Funcionalidades Principais
- Gera uma justificativa lógica para cada pergunta usando um modelo LLM.
- Combina a justificativa com a resposta final em uma única mensagem coerente.
- Utiliza dois modelos OpenAI separados: um para criar a justificativa e outro para gerar a resposta final.
- Suporta templates de prompt dinâmicos que inserem a pergunta do usuário e a justificativa gerada.
- Envia a resposta final diretamente para a sessão de chat para exibição imediata.
🔄 Etapas do Fluxo
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Chat Input | Recebe a pergunta do usuário e os metadados da sessão. | Mensagem do usuário, ID da conversa, ID da sessão | Mensagem estruturada de chat |
| Prompt – Rationale | Cria um prompt solicitando ao modelo que produza uma justificativa. | Pergunta da mensagem de chat | Texto do prompt |
| OpenAI Model – Rationale | Gera a justificativa em texto a partir do prompt. | Texto do prompt | Texto da justificativa |
| Prompt – Final Answer | Constrói um prompt que inclui a pergunta e a justificativa gerada para pedir a resposta final. | Pergunta, Texto da justificativa | Texto do prompt |
| OpenAI Model – Final Answer | Produz o texto da resposta final. | Texto do prompt | Texto da resposta |
| Combine Text | Concatena a justificativa e a resposta usando um delimitador de nova linha. | Texto da justificativa, Texto da resposta | Texto combinado (justificativa + resposta) |
| Chat Output | Envia o texto combinado de volta para a sessão de chat como resposta do bot. | Texto combinado, ID da conversa, ID da sessão | Mensagem de chat exibida ao usuário |
🧠 Observações
- O primeiro modelo OpenAI é ajustado para produzir justificativas concisas; o segundo modelo foca em criar a resposta final.
- Ambos os modelos utilizam o motor
gpt-4o-mini, mas a arquitetura pode ser alterada modificando o campo do nome do modelo. - Os templates de prompt são dinâmicos; os placeholders (
{question},{rationale}) são substituídos automaticamente em tempo de execução. - O delimitador para combinar textos são dois caracteres de nova linha (
\n\n) por padrão, garantindo separação clara entre justificativa e resposta. - Os identificadores de sessão e conversa mantêm o estado entre múltiplas interações, permitindo respostas contextuais.
- O tratamento de erros para falhas do modelo não está explicitamente modelado; em produção, o fluxo deve capturar e reportar falhas ao usuário ou a um sistema de monitoramento.