File size: 2,504 Bytes
d9d4dec
3f0b79c
 
 
 
 
 
d9d4dec
 
3f0b79c
d9d4dec
 
 
 
 
 
 
 
3f0b79c
d9d4dec
 
 
 
 
 
 
 
 
 
 
 
 
3f0b79c
d9d4dec
 
 
3f0b79c
 
 
 
 
 
 
 
 
 
 
314cd9c
 
 
3f0b79c
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

import gradio as gr
import anthropic
import os

# Function to call Claude AI API and get a personalized meal plan
def get_meal_plan(fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences):
    ani_sa_api = os.getenv('claude_api')  # Replace with your actual API key or environment variable
    client = anthropic.Anthropic(api_key=ani_sa_api)
    
    # Define the prompt to send to Claude AI
    prompt = (
        f"My fasting sugar level is {fasting_sugar} mg/dL, "
        f"my pre-meal sugar level is {pre_meal_sugar} mg/dL, "
        f"and my post-meal sugar level is {post_meal_sugar} mg/dL. "
        f"My dietary preferences are {dietary_preferences}. "
        "Please provide a personalized meal plan that can help me manage my blood sugar levels effectively."
    )
    
    # Call Claude AI API
    message = client.messages.create(
        model="claude-3-5-sonnet-20240620",
        max_tokens=250,
        temperature=0.7,
        system="You are a world-class nutritionist who specializes in diabetes management.",
        messages=[
            {
                "role": "user",
                "content": prompt
            }
        ]
    )
    
    raw_context = message.content
    meal_plan = raw_context[0].text
    return meal_plan

# Gradio interface
def generate_meal_plan(fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences):
    meal_plan = get_meal_plan(fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences)
    return meal_plan

with gr.Blocks() as demo:
    gr.Markdown("# Glucose Guardian")
    gr.Markdown("**Glucose Guardian** is a personalized meal planning tool designed specifically for diabetic patients. By entering your sugar levels and dietary preferences, Glucose Guardian generates meal plans that are tailored to help you manage your blood sugar levels effectively.")
    
    with gr.Row():
        fasting_sugar = gr.Number(label="Fasting Sugar Levels (mg/dL)", value=0)
        pre_meal_sugar = gr.Number(label="Pre-Meal Sugar Levels (mg/dL)", value=0)
        post_meal_sugar = gr.Number(label="Post-Meal Sugar Levels (mg/dL)", value=0)
    
    dietary_preferences = gr.Textbox(label="Dietary Preferences (e.g., vegetarian, low-carb)")
    
    meal_plan_output = gr.Markdown()
    
    generate_button = gr.Button("Generate Meal Plan")
    generate_button.click(fn=generate_meal_plan, inputs=[fasting_sugar, pre_meal_sugar, post_meal_sugar, dietary_preferences], outputs=meal_plan_output)
    
demo.launch()