sabahat-shakeel commited on
Commit
2c58722
·
verified ·
1 Parent(s): 779db47

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -34
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
- # Define a function to validate and clean inputs
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 specializes in diabetes management.",
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
- # Input validation
52
- fasting_sugar = validate_input(st.sidebar.number_input("Fasting Sugar Level (mg/dL)", min_value=1, max_value=500, step=1))
53
- pre_meal_sugar = validate_input(st.sidebar.number_input("Pre-meal Sugar Level (mg/dL)", min_value=1, max_value=500, step=1))
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
- # Generate meal plan
59
  if st.sidebar.button("Generate Meal Plan"):
60
- if None not in (fasting_sugar, pre_meal_sugar, post_meal_sugar):
61
- meal_plan = get_meal_plan(api_key, fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences)
62
- st.write("Based on your sugar levels and dietary preferences, here is a personalized meal plan:")
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)