import gradio as gr import os from mistralai.client import MistralClient from mistralai.models.chat_completion import ChatMessage # Ensure the environment variable for the API key is set api_key = os.getenv("MISTRAL_API_KEY") if not api_key: raise ValueError("MISTRAL_API_KEY environment variable not set") model = "mistral-tiny" client = MistralClient(api_key=api_key) def generate_goals(input_var): messages = [ ChatMessage(role="user", content=f"Generate 10 specific, industry relevant goals for {input_var} using Python and Pandas. Each goal should include a brief name and a one-sentence description of the task or skill. Focus on practical applications in educational assessment, covering areas such as data processing, statistical analysis, visualization, and advanced techniques") ] try: response = client.chat(model=model, messages=messages) content = response.choices[0].message.content return content except Exception as e: return f"An error occurred: {str(e)}" # HTML content html_content = """ Comprehensive Exam Data Analysis with Pandas - 30 Industry Goals with Connections

Comprehensive Exam Data Analysis with Pandas - 30 Industry Goals with Connections

""" # Gradio interface iface = gr.Interface( fn=generate_goals, inputs=gr.Textbox(label="Goal Name"), outputs=gr.Textbox(label="Generated Goals"), title="Exam Data Analysis Goals Generator", description="Click on a goal in the visualization to generate related goals.", allow_flagging="never", theme="default", css=html_content ) if __name__ == "__main__": iface.launch()