Afeefa123 commited on
Commit
5a03aa6
·
verified ·
1 Parent(s): e1538aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -36
app.py CHANGED
@@ -1,42 +1,57 @@
1
- import os
2
  import streamlit as st
 
3
  from groq import Groq
4
 
5
- # API Key Initialization
6
  GROQ_API_KEY = "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"
7
  client = Groq(api_key=GROQ_API_KEY)
8
 
9
- # Function to fetch mission details by ID
10
- def get_mission_details(mission_id):
11
- """Fetch resource optimization or mission details using Groq API."""
12
- try:
13
- response = client.chat.completions.create(
14
- messages=[
15
- {
16
- "role": "user",
17
- "content": f"Provide detailed insights about mission ID: {mission_id} in space exploration."
18
- }
19
- ],
20
- model="llama-3.3-70b-versatile",
21
- )
22
- return response.choices[0].message.content
23
- except Exception as e:
24
- return f"Error fetching mission details: {e}"
25
-
26
- # Streamlit App UI
27
- st.title("🚀 AI-Powered Space Mission Insights")
28
- st.sidebar.header("Mission Selection")
29
-
30
- # Mission ID input
31
- mission_id = st.sidebar.text_input("Enter Mission ID", "MSN-0003")
32
-
33
- if mission_id:
34
- st.subheader(f"Mission Insights for ID: {mission_id}")
35
- st.text("Fetching details...")
36
-
37
- # Fetch and display mission details
38
- mission_details = get_mission_details(mission_id)
39
- st.write(mission_details)
40
-
41
- # Additional UI Elements
42
- st.sidebar.info("Enter a valid mission ID to explore detailed information!")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ import pandas as pd
3
  from groq import Groq
4
 
5
+ # Initialize the Groq API
6
  GROQ_API_KEY = "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"
7
  client = Groq(api_key=GROQ_API_KEY)
8
 
9
+ # Load CSV dataset
10
+ st.title("🚀 Mission Analytics & Recommendations")
11
+ uploaded_file = st.file_uploader("Upload your dataset (CSV format)", type="csv")
12
+
13
+ if uploaded_file:
14
+ # Read the uploaded CSV
15
+ data = pd.read_csv(uploaded_file)
16
+ st.write("### Dataset Overview", data.head())
17
+
18
+ # Select Mission ID
19
+ mission_id = st.selectbox("Select a Mission ID for Prediction and Recommendation", data["Mission ID"].unique())
20
+
21
+ # Display mission information
22
+ if mission_id:
23
+ mission_data = data[data["Mission ID"] == mission_id].iloc[0]
24
+ st.subheader(f"Mission Details: {mission_id}")
25
+ st.write(mission_data)
26
+
27
+ # API call function for prediction and recommendation
28
+ def fetch_recommendation(mission_details):
29
+ """Fetch recommendations based on mission data."""
30
+ content = (
31
+ f"Given this mission data: "
32
+ f"Name: {mission_details['Mission Name']}, "
33
+ f"Target Type: {mission_details['Target Type']}, "
34
+ f"Distance: {mission_details['Distance from Earth (light-years)']} light-years, "
35
+ f"Cost: {mission_details['Mission Cost (billion USD)']} billion USD, "
36
+ f"Success Rate: {mission_details['Mission Success (%)']}%, "
37
+ f"Provide insights and suggestions for optimization."
38
+ )
39
+
40
+ try:
41
+ response = client.chat.completions.create(
42
+ messages=[{"role": "user", "content": content}],
43
+ model="llama-3.3-70b-versatile",
44
+ )
45
+ return response.choices[0].message.content
46
+ except Exception as e:
47
+ return f"Error fetching prediction: {e}"
48
+
49
+ # Fetch and display prediction/recommendation
50
+ if st.button("Get Prediction and Recommendations"):
51
+ st.text("Fetching insights from Groq API...")
52
+ result = fetch_recommendation(mission_data)
53
+ st.write("### Recommendations")
54
+ st.success(result)
55
+
56
+ else:
57
+ st.warning("Please upload a CSV file to proceed.")