File size: 1,289 Bytes
60de325
 
 
 
 
9068905
 
 
 
 
9627e09
 
9068905
 
9627e09
9068905
60de325
 
 
 
 
 
 
9068905
 
60de325
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from transformers import TimeSeriesTransformerForPrediction, TimeSeriesTransformerConfig
import pandas as pd
import numpy as np

# Carregar configuração do modelo
config = TimeSeriesTransformerConfig.from_pretrained("google/timesfm-2.0-500m-pytorch")
config.prediction_length = 3  # Defina o número de meses a serem previstos

# Carregar modelo com a configuração ajustada
model = TimeSeriesTransformerForPrediction.from_pretrained(
    "google/timesfm-2.0-500m-pytorch",
    config=config,
    torch_dtype="auto"
)

def prever_vendas(historico):
    # Converter entrada em lista de números
    historico = [float(x) for x in historico.split(",")]
    
    # Preparar dados (ajuste conforme o formato esperado pelo modelo)
    data = pd.Series(historico)
    
    # Gerar previsão
    forecast = model.predict(data, prediction_length=3)  # Usar a mesma prediction_length da config
    return np.round(forecast.mean, 2).tolist()

# Interface Gradio
iface = gr.Interface(
    fn=prever_vendas,
    inputs=gr.Textbox(label="Histórico de Vendas (separado por vírgulas)"),
    outputs=gr.Textbox(label="Previsão para os Próximos 3 Meses"),
    examples=[
        ["140,155,160,145,150,165,170,160,175,160,155,170"],  # Exemplo do Produto C
    ]
)

iface.launch()