File size: 2,615 Bytes
cfafec9
 
 
 
ac3f10d
cfafec9
ac3f10d
 
cfafec9
 
ac3f10d
cfafec9
ac3f10d
cfafec9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ac3f10d
cfafec9
 
 
 
 
 
 
 
 
 
ac3f10d
 
cfafec9
 
 
ac3f10d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cfafec9
ac3f10d
cfafec9
ac3f10d
cfafec9
 
 
 
 
 
ac3f10d
cfafec9
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import streamlit as st
import os
import google.generativeai as genai
from PIL import Image
from dotenv import load_dotenv

load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
## Function to load Google Gemini Pro Vision API And get response

def get_gemini_repsonse(input_prompt,image):
    model=genai.GenerativeModel('gemini-1.5-flash')
    response=model.generate_content([input_prompt,image[0]])
    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="Biodiversity Detection App")

st.header("Biodiversity")
#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("Find the Species")

input_prompt="""
you are an expert taxonomist where you need to see the image and return detailed info about the species including its Name, common name, Kingdom, phylum and class,family ,genus,native country in proper order one below the other example name : Below that common name and so on also add an interesting fact about that species at end .
 generate a short informative ,engaging 150 words story like national geographic story about that species,it's life and history don't write national geographic story just diretly write the story. 
the image you can answer is of only living organisms like animals,plants etc.
Do not return results for non-living objects.
If image does not contain living organism or something which you do not know respond with invalid input.
I want answer in this format - 


Name: Sciurus vulgaris

Common Name: Eurasian red squirrel

Kingdom: Animalia

Phylum: Chordata

Class: Mammalia

Family: Sciuridae

Genus: Sciurus

Native Country: Eurasia (widely distributed across Europe and parts of Asia)

Interseting fact:

 write Story

 
"""

## If submit button is clicked

if submit:
    image_data=input_image_setup(uploaded_file)
    response=get_gemini_repsonse(input_prompt,image_data)
   
    st.write(response)