Files
AI-inovyo-assistende-db/docs/README.md
2026-05-14 15:29:03 -03:00

53 lines
2.3 KiB
Markdown

# 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](architecture.md) | Visão geral da arquitetura, componentes e fluxo de dados |
| [Referência da API](api-reference.md) | Endpoints, modelos de dados e exemplos de uso |
| [Modelo de Dados](data-model.md) | Estrutura das tabelas, relacionamentos e convenções |
| [Infraestrutura](infrastructure.md) | Recursos AWS provisionados com Pulumi (ECS, ALB, ECR) |
| [Deploy](deployment.md) | Processo de build, push e deploy da aplicação |
| [Desenvolvimento](development.md) | 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()
```