import streamlit as st import requests import os # Function to call the Together API with the provided model def call_ai_model(all_message): url = "https://api.together.xyz/v1/chat/completions" payload = { "model": "NousResearch/Nous-Hermes-2-Yi-34B", "temperature": 1.05, "top_p": 0.9, "top_k": 50, "repetition_penalty": 1, "n": 1, "messages": [{"role": "user", "content": all_message}], "stream_tokens": True, } TOGETHER_API_KEY = os.getenv('TOGETHER_API_KEY') headers = { "accept": "application/json", "content-type": "application/json", "Authorization": f"Bearer {TOGETHER_API_KEY}", } response = requests.post(url, json=payload, headers=headers, stream=True) response.raise_for_status() # Ensure HTTP request was successful for line in response.iter_lines(): if line: yield line.decode('utf-8') # Streamlit app layout st.title("Climate Change Impact on Sports Using AI") st.write("Predict and mitigate the impacts of climate change on sports performance and infrastructure.") # Input fields for user to enter data temperature = st.number_input("Enter temperature (°C):", min_value=-50, max_value=50, value=25) humidity = st.number_input("Enter humidity (%):", min_value=0, max_value=100, value=50) air_quality = st.number_input("Enter air quality index (AQI):", min_value=0, max_value=500, value=100) precipitation = st.number_input("Enter precipitation (mm):", min_value=0.0, max_value=500.0, value=10.0) if st.button("Generate Prediction"): all_message = f"Predict the impact of the following climate conditions on sports performance and infrastructure: temperature {temperature}°C, humidity {humidity}%, air quality index {air_quality}, and precipitation {precipitation}mm." try: with st.spinner("Generating response..."): response_lines = call_ai_model(all_message) generated_text = "".join(response_lines) st.success("Response generated successfully!") st.write(generated_text) except Exception as e: st.error(f"An error occurred: {e}")