Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| from groq import Groq | |
| # Initialize the Groq API | |
| GROQ_API_KEY = "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" | |
| client = Groq(api_key=GROQ_API_KEY) | |
| # Load CSV dataset | |
| st.title("๐ Mission Analytics & Recommendations") | |
| uploaded_file = st.file_uploader("Upload your dataset (CSV format)", type="csv") | |
| if uploaded_file: | |
| # Read the uploaded CSV | |
| data = pd.read_csv(uploaded_file) | |
| st.write("### Dataset Overview", data.head()) | |
| # Select Mission ID | |
| mission_id = st.selectbox("Select a Mission ID for Prediction and Recommendation", data["Mission ID"].unique()) | |
| # Display mission information | |
| if mission_id: | |
| mission_data = data[data["Mission ID"] == mission_id].iloc[0] | |
| st.subheader(f"Mission Details: {mission_id}") | |
| st.write(mission_data) | |
| # API call function for prediction and recommendation | |
| def fetch_recommendation(mission_details): | |
| """Fetch recommendations based on mission data.""" | |
| content = ( | |
| f"Given this mission data: " | |
| f"Name: {mission_details['Mission Name']}, " | |
| f"Target Type: {mission_details['Target Type']}, " | |
| f"Distance: {mission_details['Distance from Earth (light-years)']} light-years, " | |
| f"Cost: {mission_details['Mission Cost (billion USD)']} billion USD, " | |
| f"Success Rate: {mission_details['Mission Success (%)']}%, " | |
| f"Provide insights and suggestions for optimization." | |
| ) | |
| try: | |
| response = client.chat.completions.create( | |
| messages=[{"role": "user", "content": content}], | |
| model="llama-3.3-70b-versatile", | |
| ) | |
| return response.choices[0].message.content | |
| except Exception as e: | |
| return f"Error fetching prediction: {e}" | |
| # Fetch and display prediction/recommendation | |
| if st.button("Get Prediction and Recommendations"): | |
| st.text("Fetching insights from Groq API...") | |
| result = fetch_recommendation(mission_data) | |
| st.write("### Recommendations") | |
| st.success(result) | |
| else: | |
| st.warning("Please upload a CSV file to proceed.") | |