graph_generator / app.py
juancamval's picture
Create app.py
09eec9f verified
raw
history blame
1.94 kB
# 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")