import streamlit as st import torch import uuid import nest_asyncio import asyncio import os #import omegaConf torch.classes.__path__ = [] # Setup for HTTP API Calls if 'device_id' not in st.session_state: st.session_state.device_id = str(uuid.uuid4()) if "feedback_key" not in st.session_state: st.session_state.feedback_key = 0 #corpus_keys = 'first.last' cfg = {"title": "SBS MMMMMMMMAAAAAAAAAAAPPPPPPPPPPP"} def launch_bot(): def reset(): for i in range(100): st.write(f"This is scrollable content line {i}") #st.session_state.messages = [{"role": "assistant", "content": "How may I help you?", "avatar": '🤖'}] st.session_state.ex_prompt = None st.session_state.first_turn = True def generate_response(question): response = vq.submit_query(question, languages[st.session_state.language]) return response def generate_streaming_response(question): response = vq.submit_query_streaming(question, languages[st.session_state.language]) return response def show_example_questions(): if len(st.session_state.example_messages) > 0 and st.session_state.first_turn: selected_example = pills("Questions to Try:", st.session_state.example_messages, index=None) if selected_example: st.session_state.ex_prompt = selected_example st.session_state.first_turn = False return True return False if 'cfg' not in st.session_state: yield #corpus_keys = str(os.environ["first, last"]).split(',') #cfg = {title: "SBS MMMMMMMMAAAAAAAAAAAPPPPPPPPPPP",} #cfg = "SBS MMMMAPPPPEEERR", # omegaConf.create({ # 'corpus_keys': corpus_keys, # 'api_key': str(os.environ['api_key']), # 'title': os.environ['title'], # 'source_data_desc': os.environ['source_data_desc'], # 'streaming': isTrue(os.environ.get('streaming', False)), # 'prompt_name': os.environ.get('prompt_name', None), # 'examples': os.environ.get('examples', None), # 'language': 'English' #}) #st.session_state.cfg = cfg #st.session_state.ex_prompt = None #st.session_state.first_turn = True #st.session_state.language = cfg.language #example_messages = [example.strip() for example in cfg.examples.split(",")] #st.session_state.example_messages = [em for em in example_messages if len(em)>0][:max_examples] #st.session_state.vq = VectaraQuery(cfg.api_key, cfg.corpus_keys, cfg.prompt_name) #cfg = st.session_state.cfg #vq = st.session_state.vq st.set_page_config(page_title="SSSSSSSSBBBBBBBBBSSSSSSSSSSS", layout="wide") # left side content with st.sidebar: #image = Image.open('Vectara-logo.png') #st.image(image, width=175) st.markdown(f"## About\n\n") #f"This demo uses outside RAG to ask questions about {cfg.source_data_desc}\n") #cfg.language = st.selectbox('Language:', languages.keys()) #if st.session_state.language != cfg.language: # st.session_state.language = cfg.language # reset() # st.rerun() st.markdown("\n") bc1, _ = st.columns([1, 1]) with bc1: if st.button('Start Over'): reset() st.rerun() st.markdown("---") st.markdown( "## Temporary test demo only\n" ) st.markdown(f"