import streamlit as st from PIL import Image import os from gtts import gTTS from groq import Groq st.image('calamo.png', caption="", use_column_width=False) client = Groq( api_key=os.environ.get("GROQ_API_KEY"), ) # Other content of your app st.title("plAIn Voice") # Define a function to process the input def process_text(input_text): prompt = ''' Eres un experto en lenguaje claro. Las pautas básicas para lenguaje claro son: - Expresar una idea por oración. - Utilizar oraciones de treinta palabras o menos. - Evitar la jerga. - Seguir el orden sujeto, verbo y predicado. - Utilizar una estructura lógica, organizando la información de manera clara y coherente. Evalúa la calidad del lenguaje de este texto y sugiere las correcciones oportunas:" ''' input = prompt + input_text chat_completion = client.chat.completions.create( messages=[ { "role": "user", "content": input, } ], model="mixtral-8x7b-32768", ) return (chat_completion.choices[0].message.content) def generate_audio(input_text): tts = process_text(input_text) speech = gTTS(text=tts, lang='es-ES', slow=False) speech.save("gtts_out.mp3") return "gtts_out.mp3" user_input = st.text_input("Pega un texto para aclararlo y escuchar una lectura.") if st.button('Aclarar'): if user_input == "": st.write("Pega un texto aquí") else: speech_file = generate_audio(user_input) st.audio(speech_file, format='audio/mp3')