model0 / app.py
raxder-ai's picture
Update app.py
355e3d3 verified
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}")