Initial commit
This commit is contained in:
52
docs/README.md
Normal file
52
docs/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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()
|
||||
```
|
||||
Reference in New Issue
Block a user