rwayz commited on
Commit
f983b3c
·
verified ·
1 Parent(s): ec1e18b

Delete README copy.md

Browse files
Files changed (1) hide show
  1. README copy.md +0 -366
README copy.md DELETED
@@ -1,366 +0,0 @@
1
- # 🤖 AgentGraph - Plataforma Multi-Agente LangGraph
2
-
3
- Uma plataforma inteligente de agentes especializados que utiliza LangGraph para processar consultas em linguagem natural, com suporte a múltiplos provedores de LLM e arquitetura modular extensível.
4
-
5
- ## ✨ Funcionalidades Principais
6
-
7
- ### 🎯 **Sistema Multi-Agente**
8
- - **Agente SQL**: Consultas inteligentes em dados CSV/SQLite
9
- - **Detecção Automática**: Identifica tipo de processamento necessário
10
- - **Arquitetura Extensível**: Preparado para PDF, MySQL, Gráficos e ML
11
-
12
- ### 🧠 **Múltiplos Provedores LLM**
13
- - **OpenAI**: GPT-4o, GPT-4o-mini, o3-mini
14
- - **Anthropic**: Claude-3.5-Sonnet com tool-calling
15
- - **HuggingFace**: LLaMA 70B, LLaMA 8B, DeepSeek-R1 (refinamento)
16
-
17
- ### 🔄 **LangGraph Avançado**
18
- - Arquitetura baseada em nós especializados
19
- - Processamento assíncrono e paralelo
20
- - Gerenciamento inteligente de objetos não-serializáveis
21
- - Sistema de retry com backoff exponencial
22
-
23
- ### 🔍 **Observabilidade com LangSmith**
24
- - Rastreamento completo de execuções LangGraph
25
- - Monitoramento de performance em tempo real
26
- - Debug avançado de agentes e fluxos
27
- - Análise de custos e uso de tokens
28
- - Dashboards de observabilidade integrados
29
-
30
- ### 🌐 **Interface Moderna**
31
- - Interface Gradio responsiva e centralizada
32
- - Configurações separadas do chat principal
33
- - Upload de CSV com processamento automático
34
- - Histórico detalhado e logs estruturados
35
-
36
- ### 💾 **Sistema Inteligente**
37
- - Cache otimizado com verificação de hits
38
- - Processamento genérico de CSV com detecção automática
39
- - Modo avançado com refinamento de respostas
40
- - Verbose ativo para debugging
41
-
42
- ## 📁 Estrutura do Projeto
43
-
44
- ```
45
- agentgraph/
46
- ├── app.py # 🚀 Entry point: Gradio + LangGraph
47
- ├── graphs/
48
- │ └── main_graph.py # 🔄 StateGraph principal com roteamento
49
- ├── nodes/ # 🎯 Nós especializados
50
- │ ├── csv_processing_node.py # 📊 Processamento genérico de CSV
51
- │ ├── database_node.py # 🗄️ Operações de banco de dados
52
- │ ├── query_node.py # 🔍 Processamento de consultas
53
- │ ├── refinement_node.py # ✨ Refinamento de respostas
54
- │ ├── cache_node.py # 💾 Gerenciamento de cache
55
- │ └── agent_node.py # 🤖 Coordenação geral
56
- ├── agents/ # 🧠 Agentes especializados
57
- │ ├── sql_agent.py # 📝 Agente SQL multi-provedor
58
- │ └── tools.py # 🛠️ Ferramentas e detecção
59
- ├── utils/ # ⚙️ Utilitários
60
- │ ├── database.py # 🗃️ Funções de banco de dados
61
- │ ├── config.py # 📋 Configurações centralizadas
62
- │ └── object_manager.py # 🎛️ Gerenciador de objetos
63
- ├── uploaded_data/ # 📂 Arquivos CSV enviados
64
- ├── requirements.txt # 📦 Dependências
65
- ├── README.md # 📖 Documentação
66
- ├── architecture.md # 🏗️ Arquitetura detalhada
67
- └── .env # 🔐 Variáveis de ambiente
68
- ```
69
-
70
- ## 🚀 Instalação Rápida
71
-
72
- ### 1. **Clone o Repositório**
73
- ```bash
74
- git clone https://github.com/seu-usuario/agentgraph.git
75
- cd agentgraph
76
- ```
77
-
78
- ### 2. **Instale as Dependências**
79
- ```bash
80
- pip install -r requirements.txt
81
- ```
82
-
83
- ### 3. **Configure as Variáveis de Ambiente**
84
- Crie/edite o arquivo `.env`:
85
-
86
- ```env
87
- # 🔑 API Keys (pelo menos uma é obrigatória)
88
- HUGGINGFACE_API_KEY=hf_your_key_here
89
- OPENAI_API_KEY=sk-your_key_here
90
- ANTHROPIC_API_KEY=sk-ant-your_key_here
91
-
92
- # 🔍 LangSmith - Observabilidade (OPCIONAL)
93
- LANGSMITH_API_KEY=lsv2_pt_your_key_here
94
- LANGSMITH_TRACING=true
95
- LANGSMITH_ENDPOINT=https://api.smith.langchain.com
96
- LANGSMITH_PROJECT=agentgraph-project
97
-
98
- # 🗄️ Configurações de Banco
99
- SQL_DB_PATH=data.db
100
- DEFAULT_CSV_PATH=tabela.csv
101
- UPLOAD_DIR=uploaded_data
102
-
103
- # 🤖 Configurações de Modelo
104
- DEFAULT_MODEL=GPT-4o-mini
105
- MAX_ITERATIONS=40
106
- TEMPERATURE=0
107
-
108
- # 🌐 Configurações do Gradio
109
- GRADIO_SHARE=False
110
- GRADIO_PORT=7860
111
- ```
112
-
113
- ### 4. **Execute a Aplicação**
114
- ```bash
115
- python app.py
116
- ```
117
-
118
- 🎉 **Pronto!** Acesse `http://localhost:7860` no seu navegador.
119
-
120
- ### 5. **Configure LangSmith (Opcional)**
121
- Para habilitar observabilidade avançada:
122
-
123
- 1. **Crie conta** em [LangSmith](https://smith.langchain.com/)
124
- 2. **Obtenha API Key** no dashboard
125
- 3. **Configure no .env**:
126
- ```env
127
- LANGSMITH_API_KEY=lsv2_pt_your_key_here
128
- LANGSMITH_TRACING=true
129
- LANGSMITH_PROJECT=agentgraph-project
130
- ```
131
- 4. **Reinicie** a aplicação
132
-
133
- ✨ **Com LangSmith você terá**:
134
- - 🔍 Rastreamento completo de execuções
135
- - 📊 Dashboards de performance
136
- - 🐛 Debug avançado de agentes
137
- - 💰 Análise de custos de tokens
138
- - 📈 Métricas de uso em tempo real
139
-
140
- ## 💡 Como Usar
141
-
142
- ### 🎯 **Fluxo Básico**
143
- 1. **Acesse** `http://localhost:7860`
144
- 2. **Selecione** o modelo LLM desejado (OpenAI, Anthropic ou HuggingFace)
145
- 3. **Upload** de CSV (opcional) ou use dados padrão
146
- 4. **Digite** perguntas em linguagem natural
147
- 5. **Receba** respostas detalhadas com SQL e análises
148
-
149
- ### 🤖 **Modelos Disponíveis**
150
-
151
- | Provedor | Modelo | Uso | Características |
152
- |----------|--------|-----|-----------------|
153
- | **OpenAI** | GPT-4o | AgentSQL | Tools + Verbose ativo |
154
- | **OpenAI** | GPT-4o-mini | AgentSQL | Modelo padrão, rápido |
155
- | **OpenAI** | o3-mini | AgentSQL | Sem temperature |
156
- | **Anthropic** | Claude-3.5-Sonnet | AgentSQL | Tool-calling + Retry |
157
- | **HuggingFace** | LLaMA 70B | Refinamento | Opcional |
158
- | **HuggingFace** | LLaMA 8B | Refinamento | Opcional |
159
- | **HuggingFace** | DeepSeek-R1 | Refinamento | Opcional |
160
-
161
- ### 📊 **Exemplos de Perguntas**
162
- ```
163
- "Quais são os produtos com maior preço?"
164
- "Mostre as vendas por categoria"
165
- "Qual a média de idade dos clientes?"
166
- "Produtos com estoque baixo"
167
- "Análise de tendências mensais"
168
- ```
169
-
170
- ## 🧪 Verificação e Testes
171
-
172
- ### **Verificação Rápida**
173
- ```bash
174
- # Verifica configuração LangSmith
175
- python check_langsmith_setup.py
176
-
177
- # Teste completo de integração
178
- python test_langsmith_integration.py
179
- ```
180
-
181
- ### **Arquivos de Teste Disponíveis**
182
- - `check_langsmith_setup.py` - Verificação rápida de configuração
183
- - `test_langsmith_integration.py` - Teste completo de integração
184
- - `test_new_architecture.py` - Teste da arquitetura LangGraph
185
- - `test_graph_functionality.py` - Teste de funcionalidades de gráficos
186
-
187
- ## 🛠️ Tecnologias
188
-
189
- ### **Core Framework**
190
- - **LangGraph**: Orquestração de agentes com nós especializados
191
- - **LangChain**: Framework de LLM com tool-calling
192
- - **LangSmith**: Observabilidade e rastreamento avançado
193
- - **Gradio**: Interface web moderna e responsiva
194
-
195
- ### **Processamento de Dados**
196
- - **SQLAlchemy**: ORM para banco de dados SQLite
197
- - **Pandas**: Processamento e análise de dados CSV
198
- - **SQLite**: Banco de dados embarcado
199
-
200
- ### **Provedores LLM**
201
- - **OpenAI**: GPT-4o, GPT-4o-mini, o3-mini
202
- - **Anthropic**: Claude-3.5-Sonnet
203
- - **HuggingFace**: LLaMA, DeepSeek via Together AI
204
-
205
- ### **Utilitários**
206
- - **AsyncIO**: Processamento assíncrono
207
- - **Logging**: Sistema de logs estruturados
208
- - **Retry**: Backoff exponencial para rate limiting
209
-
210
- ## 🏗️ Arquitetura Atual
211
-
212
- ### **Fluxo Principal**
213
- ```
214
- Pergunta → Detecção de Tipo → AgentSQL → Refinamento (Opcional) → Resposta
215
- ```
216
-
217
- ### **Nós Especializados**
218
- - **🔍 Query Node**: Detecção e processamento de consultas
219
- - **🗄️ Database Node**: Operações de banco e CSV
220
- - **💾 Cache Node**: Gerenciamento de cache e histórico
221
- - **✨ Refinement Node**: Melhoria de respostas (modo avançado)
222
- - **🤖 Agent Node**: Coordenação geral do fluxo
223
-
224
- ### **Características Técnicas**
225
- - ✅ **Async/Await**: Processamento não-bloqueante
226
- - ✅ **Multi-Provedor**: OpenAI, Anthropic, HuggingFace
227
- - ✅ **Tool-Calling**: Ferramentas SQL nativas
228
- - ✅ **Verbose Ativo**: Debugging detalhado
229
- - ✅ **Rate Limiting**: Retry automático para APIs
230
- - ✅ **Object Manager**: Gerenciamento de objetos não-serializáveis
231
-
232
- ## 🚀 Roadmap - Implementações Futuras
233
-
234
- ### **🎯 Curto Prazo (1-2 meses)**
235
-
236
- #### **📄 Agente PDF**
237
- ```python
238
- # Funcionalidades planejadas:
239
- - Extração de texto de PDFs
240
- - OCR para documentos escaneados
241
- - Análise de estrutura de documentos
242
- - Busca semântica em conteúdo
243
- - Integração com LangGraph
244
- ```
245
-
246
- #### **📊 Agente de Gráficos**
247
- ```python
248
- # Funcionalidades planejadas:
249
- - Geração automática de visualizações
250
- - Matplotlib, Plotly, Seaborn
251
- - Gráficos baseados em consultas SQL
252
- - Exportação em múltiplos formatos
253
- ```
254
-
255
- ### **🎯 Médio Prazo (3-6 meses)**
256
-
257
- #### **🗄️ Agente MySQL**
258
- ```python
259
- # Funcionalidades planejadas:
260
- - Conexões externas MySQL/PostgreSQL
261
- - Queries complexas com JOINs
262
- - Gerenciamento de múltiplas bases
263
- - Pool de conexões
264
- ```
265
-
266
- #### **🤖 Agente de ML/Previsões**
267
- ```python
268
- # Funcionalidades planejadas:
269
- - Modelos de Machine Learning
270
- - Análise de séries temporais
271
- - Previsões automáticas
272
- - Integração com scikit-learn
273
- ```
274
-
275
- ### **🎯 Longo Prazo (6+ meses)**
276
-
277
- #### **🔄 Sistema de Pipelines**
278
- ```python
279
- # Funcionalidades planejadas:
280
- - Combinação de múltiplos agentes
281
- - Workflows customizáveis
282
- - Processamento em lote
283
- - Agendamento de tarefas
284
- ```
285
-
286
- #### **🌐 API REST**
287
- ```python
288
- # Funcionalidades planejadas:
289
- - Endpoints para cada agente
290
- - Autenticação e autorização
291
- - Rate limiting por usuário
292
- - Documentação OpenAPI
293
- ```
294
-
295
- #### **☁️ Integração Cloud**
296
- ```python
297
- # Funcionalidades planejadas:
298
- - Deploy em AWS/Azure/GCP
299
- - Armazenamento em nuvem
300
- - Escalabilidade automática
301
- - Monitoramento avançado
302
- ```
303
-
304
- ## 📈 Exemplos de Uso
305
-
306
- ### **Análise de Vendas**
307
- ```
308
- Usuário: "Quais produtos tiveram maior crescimento no último trimestre?"
309
-
310
- Sistema:
311
- 1. 🔍 Detecta: consulta SQL
312
- 2. 🧠 Claude analisa estrutura da tabela
313
- 3. 📝 Gera SQL otimizado
314
- 4. 📊 Executa e analisa resultados
315
- 5. ��� Resposta detalhada em português
316
- ```
317
-
318
- ### **Relatório Financeiro**
319
- ```
320
- Usuário: "Mostre um resumo das receitas por categoria"
321
-
322
- Sistema:
323
- 1. 🔍 Identifica: agregação de dados
324
- 2. 🧠 GPT-4o cria query com GROUP BY
325
- 3. 📊 Executa com LIMIT 20
326
- 4. ✨ Refinamento opcional com LLaMA
327
- 5. 📈 Resposta com insights
328
- ```
329
-
330
- ## 🤝 Contribuição
331
-
332
- ### **Como Contribuir**
333
- 1. **Fork** o repositório
334
- 2. **Crie** uma branch para sua feature (`git checkout -b feature/nova-funcionalidade`)
335
- 3. **Commit** suas mudanças (`git commit -am 'Adiciona nova funcionalidade'`)
336
- 4. **Push** para a branch (`git push origin feature/nova-funcionalidade`)
337
- 5. **Abra** um Pull Request
338
-
339
- ### **Áreas de Contribuição**
340
- - 🐛 **Bug fixes** e melhorias
341
- - 📄 **Documentação** e exemplos
342
- - 🧪 **Testes** automatizados
343
- - 🎯 **Novos agentes** (PDF, MySQL, etc.)
344
- - 🎨 **Interface** e UX
345
- - ⚡ **Performance** e otimizações
346
-
347
- ## 📄 Licença
348
-
349
- Este projeto está licenciado sob a [MIT License](LICENSE).
350
-
351
- ## 🙏 Agradecimentos
352
-
353
- - **LangChain** e **LangGraph** pela framework excepcional
354
- - **Anthropic**, **OpenAI** e **HuggingFace** pelos modelos LLM
355
- - **Gradio** pela interface web intuitiva
356
- - Comunidade open source pelas contribuições
357
-
358
- ---
359
-
360
- **⭐ Se este projeto foi útil, considere dar uma estrela no GitHub!**
361
-
362
- **🔗 Links Úteis:**
363
- - [Documentação Detalhada](architecture.md)
364
- - [Exemplos de Uso](examples/)
365
- - [Issues e Sugestões](https://github.com/seu-usuario/agentgraph/issues)
366
- - [Discussões](https://github.com/seu-usuario/agentgraph/discussions)