import gradio as gr import openai import os import openai from openai import OpenAI api_key = os.getenv("OPENAI_KEY") client = OpenAI(api_key=api_key) # Define the LLM function def generacion_llm(texto_input): # Define the system and user messages formato_json = ''' { "reto": " ", "dudas": " ", "preguntas": " ", "expectativas": " " } ''' mensaje_sistema = ( "Eres un experto en identificar aspectos descriptivos de las razones " "por las cuales un usuario necesita asesoría para implementar retos " "que involucren inteligencia artificial de varios tipos." ) mensaje_usuario = ( f"Analizar el texto mostrado al final, buscando identificar los siguientes " f"extractos en el formato JSON: {formato_json}\n\nTexto a Analizar: {texto_input}" ) version_model = 'gpt-3.5-turbo-0125' # Call OpenAI API try: response = client.chat.completions.create( model=version_model, messages=[ {"role": "system", "content": mensaje_sistema}, {"role": "user", "content": mensaje_usuario} ], temperature=0.8, max_tokens=300, top_p=1, ) # Extract the generated text from the response texto_respuesta = response.choices[0].message.content # Try parsing as JSON (if applicable) return texto_respuesta # Return plain text for now (replace with JSON if needed) except Exception as e: return f"Error: {e}" # Define Gradio app with gr.Blocks() as interface: # Title and description gr.Markdown( """ # Estructurador de Autodiagnóstico Ingrese el texto para analizar y extraer información en un formato JSON predefinido. """ ) # Input and output components input_text = gr.Textbox(label="Ingrese su texto libre para estructurar.") output_json = gr.Textbox(label="Resultado JSON") submit_button = gr.Button("Procesar") # Link the input/output and function submit_button.click(fn=generacion_llm, inputs=input_text, outputs=output_json) # Add the logo at the end gr.Markdown( """
Logo
""" ) # Launch the interface interface.launch(share=True)