File size: 2,084 Bytes
3ddb5d9
 
 
 
 
 
4737103
3ddb5d9
 
 
1a81a4e
3ddb5d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6af8fd2
 
70ed7d3
6af8fd2
3ddb5d9
6af8fd2
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
61
62
63
64
65
66
67
68
69
70
71
72
### Health Management APP
import streamlit as st
import os
import google.generativeai as genai
from PIL import Image

genai.configure(api_key=os.environ['GOOGLE_API_KEY'])

## Function to load Google Gemini Pro Vision API And get response
def get_gemini_repsonse(input,image,prompt):
    model=genai.GenerativeModel('gemini-2.5-pro')
    response=model.generate_content([input,image[0],prompt])
    return response.text

def input_image_setup(uploaded_file):
    # Check if a file has been uploaded
    if uploaded_file is not None:
        # Read the file into bytes
        bytes_data = uploaded_file.getvalue()

        image_parts = [
            {
                "mime_type": uploaded_file.type,  # Get the mime type of the uploaded file
                "data": bytes_data
            }
        ]
        return image_parts
    else:
        raise FileNotFoundError("No file uploaded")


##initialize our streamlit app
st.set_page_config(page_title="Health App πŸ‘¨β€βš•οΈ")
st.header("🎊 Health App πŸ§‘β€βš•οΈ 🫰")
input=st.text_input("Input Prompt: ",key="input")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
image=""   
if uploaded_file is not None:
    image = Image.open(uploaded_file)
    st.image(image, caption="Uploaded Image.", use_column_width=True)


submit=st.button("Tell me")

input_prompt="""
You are an expert in nutritionist where you need to see the food items from the image
               and calculate the total calories, also provide the details of every food items with calories intake
               is below format

               1. Item 1 - no of calories
               2. Item 2 - no of calories
               ----
               ----


"""

## If submit button is clicked

if submit:
    image_data=input_image_setup(uploaded_file)
    response=get_gemini_repsonse(input_prompt,image_data,input)
    st.subheader("The Response is")
    st.write(response)

footer = """
---
#### Made By [Surat Banerjee](https://www.linkedin.com/in/surat-banerjee/) 
"""

st.markdown(footer, unsafe_allow_html=True)