Spaces:
Running
Running
import streamlit as st | |
# import openai | |
import replicate | |
import os | |
from dotenv import load_dotenv | |
from streamlit_extras.stylable_container import stylable_container | |
import streamlit_extras | |
load_dotenv() | |
REPLICATE_API_TOKEN = os.environ.get("REPLICATE_API_TOKEN") | |
replicate = replicate.Client(api_token=REPLICATE_API_TOKEN) | |
streamlit_style = """ | |
<style> | |
#MainMenu {visibility: hidden;} | |
footer {visibility: hidden;} | |
video{width:200px;} | |
.css-1wbqy5l {visibility: hidden;} | |
.css-15zrgzn {visibility: hidden;} | |
.css-klqnuk {visibility: hidden;} | |
.en6cib64 {visibility: hidden;} | |
.css-1u4fkce {visibility: hidden;} | |
.en6cib62 {visibility: hidden;} | |
.css-19rxjzo, .ef3psqc11 { | |
background-color: purple; | |
text-color: white; | |
} | |
div.stButton > button:first-child { | |
background-color: darkgreen; | |
text-weight: bold; | |
} | |
</style> | |
""" | |
def page6(): | |
with stylable_container( | |
key="title", | |
css_styles=[ | |
""" span { | |
text-align: center; | |
padding-top: 0px; | |
padding-right: 0px; | |
padding-bottom: 0px; | |
padding-left: 0px; | |
}""" | |
, | |
""" | |
st-emotion-cache-0{ | |
text-align: center; | |
padding-top: 0px; | |
padding-right: 0px; | |
padding-bottom: 0px; | |
padding-left: 0px; | |
}""", | |
""" | |
.e1f1d6gn0{ | |
text-align: center; | |
padding-top: 0px; | |
padding-right: 0px; | |
padding-bottom: 0px; | |
padding-left: 0px; | |
} | |
""", | |
], | |
): | |
st.markdown("<h3>Image to Text</h3>", unsafe_allow_html=True) #This is under a css style | |
st.markdown(streamlit_style, unsafe_allow_html=True) | |
image_file=st.file_uploader("Select Image", type=['jpeg','jpg','png']) | |
if image_file is not None: | |
placeholder=st.empty() | |
col1,col2=placeholder.columns(2) | |
col1.text("Uploaded Image") | |
col1.image(image_file) | |
prompt = st.text_input(label='Ask question related to image') | |
submit_button = st.button(label='Requestion Answer') | |
if submit_button: | |
if prompt and (image_file is not None): | |
with st.spinner("Recognizing Image...."): | |
output = replicate.run( | |
"nateraw/video-llava:a494250c04691c458f57f2f8ef5785f25bc851e0c91fd349995081d4362322dd", input={ | |
"image_path": image_file, | |
"text_prompt": prompt | |
} | |
) | |
print(output) | |
col2.text("Response") | |
col2.markdown(output) | |