agent-demo / src /app.py
isabeladb's picture
Update src/app.py
a0e6831 verified
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()