File size: 1,452 Bytes
a0e6831
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b3ebb38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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()