Spaces:
Sleeping
Sleeping
| from database_manager import DatabaseManager | |
| from csv_agent import CSVAgent | |
| import gradio as gr | |
| def create_agent() -> CSVAgent: | |
| """ | |
| Função auxiliar para criar um agente CSV completo | |
| Args: | |
| csv_sources: Arquivo CSV, lista de arquivos, ou diretório com CSVs | |
| db_path: Caminho para o banco de dados SQLite | |
| Returns: | |
| Instância configurada do CSVAgent | |
| """ | |
| # Cria gerenciador de banco de dados | |
| db_manager = DatabaseManager('./data', 'data.db') | |
| # Cria e retorna agente | |
| agent = CSVAgent(db_manager) | |
| return agent | |
| def chat(message, history): | |
| result = agent.query(message) | |
| response = result['resposta'] | |
| if result['funcao_chamada']: | |
| response += f"\n\nSQL Utilizado: {result['consulta_sql']}" | |
| return response | |
| agent = create_agent() | |
| example_questions = [ | |
| "Qual foi o valor total de notas emitidas em janeiro de 2024?", | |
| "Quais foram os produtos mais vendidos em quantidade?", | |
| "Qual empresa mais emitiu notas fiscais no período?", | |
| "Quais notas fiscais foram emitidas para o estado de Minas Gerais?", | |
| "Qual o ticket médio por nota fiscal emitida?", | |
| "Quais produtos vendidos tiveram valor unitário acima de R$ 1.000?", | |
| "Quantas operações foram realizadas com consumidor final?", | |
| "Liste as notas fiscais com presença do comprador em operação presencial." | |
| ] | |
| gr.ChatInterface(chat, type="messages", examples=example_questions).launch() |