import streamlit as st import requests from requests.exceptions import ConnectionError, Timeout, RequestException # GROQ API URL and API key api_url = "https://api.groq.ai/v1/solve" api_key = "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" # New API Key headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } # Function to solve math problem using GROQ API def solve_math_problem(problem): payload = {"input": problem} try: # Make a request to the API response = requests.post(api_url, json=payload, headers=headers) # Check if the response is successful if response.status_code == 200: return response.json().get('solution', "Solution not found.") else: return f"API Error: {response.status_code} - {response.text}" except ConnectionError as e: # Log the connection error st.error(f"Connection error: {str(e)}") return "Error: Unable to connect to the API. Please check your network connection or try again later." except Timeout as e: # Log the timeout error st.error(f"Timeout error: {str(e)}") return "Error: The request timed out. Please try again later." except RequestException as e: # Log any other requests-related errors st.error(f"Request exception: {str(e)}") return f"Error: An unexpected error occurred - {str(e)}" # Streamlit user interface def main(): st.title("Math Solution App") st.write("Enter a math problem, and the app will solve it using the GROQ API!") # Input box for math problem problem = st.text_input("Enter math problem:") if st.button("Solve"): if problem: with st.spinner("Solving..."): solution = solve_math_problem(problem) st.write(f"Solution: {solution}") else: st.warning("Please enter a math problem.") # Run the app if __name__ == "__main__": main()