Files
2026-05-14 15:29:03 -03:00

2.3 KiB

Assistente Analítico para Banco de Dados - Documentação

Documentação do projeto Assistente Analítico para Banco de Dados da Inovyo, uma plataforma de IA conversacional que utiliza dados de pesquisas de experiência do cliente (CX) para fornecer insights analíticos.

Índice

Documento Descrição
Arquitetura Visão geral da arquitetura, componentes e fluxo de dados
Referência da API Endpoints, modelos de dados e exemplos de uso
Modelo de Dados Estrutura das tabelas, relacionamentos e convenções
Infraestrutura Recursos AWS provisionados com Pulumi (ECS, ALB, ECR)
Deploy Processo de build, push e deploy da aplicação
Desenvolvimento Guia para contribuição, estrutura de código e padrões

Visão Geral do Projeto

A Inovyo é uma plataforma especializada em gestão de experiência do cliente (CX), responsável por coletar, processar e analisar dados de pesquisas. Este projeto cria um chatbot que atua como consultor especialista, utilizando os dados dos dashboards da Inovyo para:

  • Responder perguntas sobre resultados de pesquisas
  • Identificar padrões, tendências e oportunidades
  • Auxiliar gestores na interpretação de indicadores (NPS, CSAT, CES)
  • Oferecer insights contextualizados e acionáveis

Stack Tecnológico

Camada Tecnologia
Linguagem Python 3.12+
Frontend Streamlit
API FastAPI + Uvicorn
Agente IA LangGraph + LangChain
LLMs AWS Bedrock (Claude, Llama, Nova)
Banco de Dados DynamoDB
Observabilidade Langfuse
Infraestrutura AWS ECS Fargate, ALB, ECR
IaC Pulumi (Python)
Container Docker

Estrutura do Backend

O pacote backend é dividido em módulos com responsabilidades únicas:

code/app/backend/
├── __init__.py       # Marca o diretório como pacote Python
├── config.py         # Leitura de variáveis de ambiente
├── dynamo.py         # Cliente DynamoDB, Langfuse, get_contexto
├── tools.py          # Ferramentas LangChain (@tool)
├── agent_bedrock.py  # LLM Bedrock, grafo LangGraph, AgentState
└── orquestrador.py   # Ponto de entrada: main()