""" Title : Landing Page of the application @author : Sakshi Tantak """ # Imports import base64 import requests import streamlit as st from filepaths import LOGO_PATH, POSTER_PATH st.set_page_config(page_title = 'Dungeons & Dragons', layout = 'wide', page_icon = LOGO_PATH) def set_centered_heading(text): st.markdown(f"

{text}

", unsafe_allow_html=True) if 'llm_endpoint' not in st.session_state: st.session_state['llm_endpoint'] = '' if 'stable_diffusion_endpoint' not in st.session_state: st.session_state['stable_diffusion_endpoint'] = '' def add_bg_from_local(image_file): with open(image_file, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) st.markdown( f""" """, unsafe_allow_html=True ) def get_api_endpoints(): form = st.form('api-endpoints') with form: llm_endpoint = st.text_input(label = 'LLM Endpoint', value = 'https://643b-34-132-196-118.ngrok-free.app') stable_diffusion_endpoint = form.text_input(label = 'Stable Diffusion Endpoint', value = 'https://643b-34-132-196-118.ngrok-free.app') submitted = st.form_submit_button('Add URLs') if submitted: with st.spinner('Checking if the URLs are valid'): try: llm_response = requests.get(url = llm_endpoint) if llm_response.status_code == 200 and llm_response.text == 'Dungeon Master': st.success('Hurrah! Your LLM endpoint works!') else: st.error('Err! This LLM endpoint is invalid or is not working!') except: st.error('Err! This LLM endpoint is invalid or is not working!') try: sd_response = requests.get(url = stable_diffusion_endpoint) if sd_response.status_code == 200 and sd_response.text == 'Generate Avatar': st.success('Hurrah! Your Stable Diffusion endpoint works!') else: st.error('Err! This Stable Diffusion endpoint is invalid or is not working!') except: st.error('Err! This Stable Diffusion endpoint is invalid or is not working!') return llm_endpoint, stable_diffusion_endpoint return None, None def main(): set_centered_heading('Dungeons & Dragons') placeholder = st.empty() with placeholder: cols = st.columns(2) with cols[0]: st.image(POSTER_PATH) with cols[-1]: llm_endpoint, stable_diffusion_endpoint = get_api_endpoints() if llm_endpoint is not None and stable_diffusion_endpoint is not None: print(llm_endpoint, stable_diffusion_endpoint) st.session_state['llm_endpoint'] = llm_endpoint st.session_state['stable_diffusion_endpoint'] = stable_diffusion_endpoint if __name__ == '__main__': main()