Conversa sobre ações
O objetivo deste fluxo é atuar como um especialista em finanças para responder a perguntas sobre os mercados. Ele usa um agente que, mediante uma solicitação de ações, acessa dados do Yahoo Finance e, em seguida, usa essas informações para gerar uma resposta precisa.
Stock Chat – Chatbot Especialista em Finanças
🧩 Visão Geral
O fluxo de trabalho automatiza a conversão de uma pergunta em texto simples do usuário sobre o mercado de ações em uma resposta precisa e baseada em dados.
Quando um usuário envia uma pergunta, o sistema primeiro identifica símbolos de ações (tickers), determina a intenção do usuário, seleciona a ferramenta adequada (Yahoo Finance), coleta os dados necessários e, por fim, formata uma resposta em linguagem natural.
Todo o processo é orquestrado por um agente alimentado por LLM, que escolhe ações dinamicamente e combina os resultados em uma única resposta coerente.
⚙️ Funcionalidades Principais
- Detecção de intenção – um modelo de linguagem analisa a pergunta do usuário para identificar a informação financeira solicitada.
- Extração de tickers – um template de prompt interpreta a mensagem e retorna uma lista de símbolos de ações relevantes.
- Seleção dinâmica de ferramentas – o agente escolhe o Yahoo Finance quando for necessário recuperar dados.
- Recuperação de dados contextual – a ferramenta coleta informações financeiras em tempo real ou recentes (preço, notícias, etc.) para os tickers solicitados.
- Geração de resposta estruturada – um segundo template de prompt combina os dados com a pergunta original para produzir uma resposta concisa e bem formatada.
- Orquestração de ponta a ponta – um agente LangGraph React coordena todas as etapas e gerencia a memória da conversa.
🔄 Etapas do Fluxo
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Chat Input | Recebe a mensagem do usuário e metadados da sessão. | Texto da mensagem; ID da conversa; ID da sessão. | Mensagem estruturada contendo a consulta do usuário. |
| Prompt para Extração de Tickers | Constrói um prompt que identifica símbolos de ações na mensagem do usuário. | Texto da mensagem do usuário. | String de prompt solicitando a lista de tickers. |
| Analisador de Intenção | Usa um modelo de linguagem para interpretar a intenção do usuário e retornar os tickers extraídos. | Prompt da etapa anterior. | Mensagem com lista em texto simples dos símbolos de ações. |
| Prompt para Agente Especialista | Gera o prompt inicial para o agente especialista em finanças, incorporando os tickers extraídos. | Lista de símbolos de ações. | String de prompt para o agente. |
| Agente Orquestrador | Executa o agente LangGraph React, selecionando ferramentas e realizando ações com base no prompt. | Prompt do passo anterior; ferramenta Yahoo Finance. | Resposta estruturada contendo dados financeiros (ex.: preço, notícias). |
| Ferramenta Yahoo Finance | Recupera informações solicitadas (preço, notícias, etc.) para cada símbolo de ação. | Símbolo de ação; tipo de informação solicitada. | Payload de dados com detalhes financeiros. |
| Prompt para Resposta Final | Constrói um prompt que combina os dados do agente com a tarefa original do usuário. | Dados financeiros do agente; pergunta original do usuário. | Prompt para geração da resposta final. |
| Gerador de Resposta | Um modelo de linguagem transforma o prompt em uma resposta em linguagem natural. | Prompt do passo anterior. | Texto da resposta final. |
| Chat Output | Entrega a resposta gerada ao usuário na interface de chat. | Texto da resposta final. | Mensagem de chat exibida. |
🧠 Observações
- O sistema depende da disponibilidade de uma API funcional do Yahoo Finance; dados ausentes ou com limite de requisições farão o agente reportar erro de forma elegante.
- Todos os prompts são elaborados para serem concisos, minimizando a quantidade de dados que o LLM precisa processar, o que melhora a latência.
- O agente LangGraph utiliza memória de curto prazo das últimas interações, permitindo que perguntas de acompanhamento referenciem o contexto anterior.
- O modelo do Analisador de Intenção pode ser substituído por qualquer LLM compatível; o mesmo vale para o Gerador de Resposta.
- O fluxo assume que a pergunta do usuário contém pelo menos um símbolo de ação válido; caso contrário, o agente solicita esclarecimento.
- O sistema não armazena dados pessoais do usuário além do necessário para a sessão de conversa atual.