Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,32 +1,25 @@
|
|
1 |
import streamlit as st
|
2 |
import anthropic
|
3 |
|
4 |
-
# API key retrieval
|
5 |
-
api_key = st.secrets["claude_api_key"]
|
6 |
|
7 |
-
|
8 |
-
def validate_input(input_value):
|
9 |
-
if input_value <= 0:
|
10 |
-
st.sidebar.error("Please enter a valid value greater than 0.")
|
11 |
-
return None
|
12 |
-
return input_value
|
13 |
|
14 |
def get_meal_plan(api_key, fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences):
|
15 |
client = anthropic.Anthropic(api_key=api_key)
|
16 |
|
17 |
prompt = (
|
18 |
-
f"My fasting sugar level is {fasting_sugar} mg/dL
|
19 |
-
f"my pre-meal sugar level is {pre_meal_sugar} mg/dL
|
20 |
-
f"and my post-meal sugar level is {post_meal_sugar} mg/dL
|
21 |
-
f"My dietary preferences are {dietary_preferences}
|
22 |
)
|
23 |
|
24 |
message = client.messages.create(
|
25 |
-
model="claude-3-5-sonnet-20240620",
|
26 |
-
max_tokens=500,
|
27 |
-
temperature=0.7,
|
28 |
-
system="You are a world-class nutritionist who
|
29 |
-
messages=[
|
30 |
{
|
31 |
"role": "user",
|
32 |
"content": prompt
|
@@ -38,28 +31,19 @@ def get_meal_plan(api_key, fasting_sugar, pre_meal_sugar, post_meal_sugar, dieta
|
|
38 |
itinerary = raw_context[0].text
|
39 |
return itinerary
|
40 |
|
41 |
-
# Streamlit app setup
|
42 |
st.title("GlucoGuide")
|
43 |
-
st.write(
|
44 |
-
"Welcome to **GlucoGuide**, your personal assistant in managing diabetes with tailored meal plans. "
|
45 |
-
"Whether you are trying to keep your sugar levels in check or simply seeking healthier dietary choices, GlucoGuide is here to help. "
|
46 |
-
"By providing your blood sugar levels and dietary preferences, you will receive a personalized meal plan designed to keep your glucose levels balanced."
|
47 |
-
)
|
48 |
|
49 |
st.sidebar.header("Enter Your Details")
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
post_meal_sugar = validate_input(st.sidebar.number_input("Post-meal Sugar Level (mg/dL)", min_value=1, max_value=500, step=1))
|
55 |
|
56 |
dietary_preferences = st.sidebar.text_input("Dietary Preferences (e.g., Vegetarian, Low-carb, etc.)")
|
57 |
|
58 |
-
|
59 |
if st.sidebar.button("Generate Meal Plan"):
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
st.markdown(meal_plan)
|
64 |
-
else:
|
65 |
-
st.sidebar.error("Please provide valid inputs for all fields.")
|
|
|
1 |
import streamlit as st
|
2 |
import anthropic
|
3 |
|
|
|
|
|
4 |
|
5 |
+
api_key = st.secrets["claude_api_key"]
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
def get_meal_plan(api_key, fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences):
|
8 |
client = anthropic.Anthropic(api_key=api_key)
|
9 |
|
10 |
prompt = (
|
11 |
+
f"My fasting sugar level is {fasting_sugar} mg/dL"
|
12 |
+
f"my pre-meal sugar level is {pre_meal_sugar} mg/dL"
|
13 |
+
f"and my post-meal sugar level is {post_meal_sugar} mg/dL"
|
14 |
+
f"My dietary preferences are {dietary_preferences} mg/dL"
|
15 |
)
|
16 |
|
17 |
message = client.messages.create(
|
18 |
+
model= "claude-3-5-sonnet-20240620",
|
19 |
+
max_tokens= 500,
|
20 |
+
temperature= 0.7,
|
21 |
+
system="You are a world-class nutritionist who spescalizes in diabetes managment.",
|
22 |
+
messages= [
|
23 |
{
|
24 |
"role": "user",
|
25 |
"content": prompt
|
|
|
31 |
itinerary = raw_context[0].text
|
32 |
return itinerary
|
33 |
|
|
|
34 |
st.title("GlucoGuide")
|
35 |
+
st.write('Welcome to **GlucoGuide** your personal assistant in managing diabetes with tailored meal plans. Whether you are trying to keep your sugar levels in check or simply seeking healthier dietary choices, GlucoGuide is here to help. By providing your blood sugar levels and dietary preferences, you will receive a personalized meal plan designed to keep your glucose levels')
|
|
|
|
|
|
|
|
|
36 |
|
37 |
st.sidebar.header("Enter Your Details")
|
38 |
|
39 |
+
fasting_sugar = st.sidebar.number_input("Fasting Sugar Level (mg/dL)", min_value=0, max_value=500, step= 1)
|
40 |
+
pre_meal_sugar = st.sidebar.number_input("Pre-meal Sugar Level (mg/dL)", min_value=0, max_value=500, step= 1)
|
41 |
+
post_meal_sugar = st.sidebar.number_input("Post-meal Sugar Level (mg/dL)", min_value=0, max_value=500, step= 1)
|
|
|
42 |
|
43 |
dietary_preferences = st.sidebar.text_input("Dietary Preferences (e.g., Vegetarian, Low-carb, etc.)")
|
44 |
|
45 |
+
|
46 |
if st.sidebar.button("Generate Meal Plan"):
|
47 |
+
meal_plan = get_meal_plan(api_key, fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences)
|
48 |
+
st.write("Based on your sugar levels and dietry preferences, here is a personalized meal plan")
|
49 |
+
st.markdown(meal_plan)
|
|
|
|
|
|