File size: 1,944 Bytes
09eec9f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Aplicacion principal para cargar modelo, generar los prompts, y el la explicacion de los datos

import streamlit as st
import trasformers
from transformers import pipeline

# Pendiente las Keys, dependiendo del modelo que escojamos

model_name = "google/flan-t5-small"  # Probando modelos
generator = pipeline("text-generation", model=model_name)

# ///////////////////////////////////////////////////////////////////////////////////////////////////////////
# Aqui probamos los propmts, en caso que no funcione apropiadamente usaremos finetuning con la db
# Ejemplo de la generacion de texto

prompt = "Generate a graph idea based on European fertility data."

output = generator(prompt, max_length=50, num_return_sequences=1)[0]['generated_text']
print(output)

# Aqui vamos a añadir los prompts, comparativa entre paises, lo ideal es mas de uno, pero podriamos iniciar en un 1v1 con la metrica 
# Vamos a generar un codigo para luego ejecutarlo con un exec() y poder imprimir en Streamlit st.pyplot()

def generate_graph_prompt(country1, country2, metric, start_year, end_year):
    
    prompt = f"""You have access to a database of European countries with data on {metric}, labor force participation, population, and their predictions for future years.

    Generate Python code using matplotlib to create a line graph showing the trend of {metric} for {country1} and {country2} from {start_year} to {end_year}.

    Also, provide a concise explanation of what this graph represents for an end user who might not be familiar with the data.
    """
    return prompt

# Ejemplo de como quedaria el prompt que recibiria el modelo
prompt = generate_graph_prompt("Germany", "France", "fertility rate", 2020, 2030)

# Inicio de Streamlit (hice lo basico, podemos mejorarla)

st.title("_Europe GraphGen_  :blue[Graph generator] :flag-eu:")
user_input = st.text_input("What graphics do you have in mind")
generate_button = st.button("Generate")