Spaces:
Running
Running
import streamlit as st | |
import requests | |
import os | |
tok=os.getenv("TOK") | |
def InitSession(): | |
if "username" not in st.session_state: | |
st.session_state.username="" | |
if "projectname" not in st.session_state: | |
st.session_state.projectname="" | |
InitSession() | |
def APP(): | |
col1,col2=st.columns(2) | |
with col1: | |
#st.title("newMATTER") | |
st.markdown(""" | |
<h2>new <i style='color:red'>MATTER</i> </h2> | |
""",unsafe_allow_html=True) | |
with col2: | |
st.image("https://pub-e4d20ff4ef334a2894d440ac56d680db.r2.dev/flask.gif",width=100) | |
tab1, tab2, tab3 = st.tabs(["PROTEIN ENGINEERING LAB", "EXECUTED OPERATIONS", "LAB OUTPUT"]) | |
def SHOWTABS(): | |
with tab1: | |
option_map = { | |
0: ":material/pill:", | |
1: ":material/vaccines:", | |
2: ":material/labresearch:" | |
} | |
selection = st.pills( | |
"BIOLOGICS", | |
options=option_map.keys(), | |
format_func=lambda option: option_map[option], | |
selection_mode="single", | |
) | |
#match selection: | |
if selection == 0: | |
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'> Nanobody [CANCER targeted]</p>",unsafe_allow_html=True) | |
with st.form("bio",border=False): | |
uid=None | |
project_name=None | |
with st.expander("setup",icon=":material/settings:"): | |
uid=st.text_input("enter username") | |
project_name=st.text_input("enter project name ") | |
if not uid or not project_name: | |
st.markdown(":orange-badge[⚠️ Set Username and Projectname]") | |
bio_input = st.text_area( | |
"Protein Engineering Query", | |
placeholder="Type your query here." | |
) | |
execute_button=st.form_submit_button("execute") | |
if execute_button: | |
if uid and project_name: # Only process if fields are filled | |
st.session_state.projectname = project_name | |
st.session_state.username = uid | |
payload={ | |
"uid":uid, | |
"pid":project_name, | |
"high_level_bio_query":bio_input | |
} | |
response=requests.post("https://thexforce-combat-backend.hf.space/bio_context_language_plan",json=payload,headers={ | |
"Content-Type":"application/json", | |
"Authorization":f"Bearer {tok}" | |
}) | |
plan_response=response.json() | |
if plan_response.get("status")=="active": | |
st.code(f"> operation execution successfull", language="rust") | |
st.success("Task completed!") | |
else: | |
st.warning(">>>Error") | |
else: | |
st.error("Please fill in both username and project name before submitting") | |
if selection == 1: | |
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'>Vaccine [Supported] </p>",unsafe_allow_html=True) | |
st.code("coming soon") | |
if selection ==2: | |
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'>Operation Details </p>",unsafe_allow_html=True) | |
with tab2: | |
st.markdown("### newMATTER Bio Lab Operations") | |
response=requests.get(f"https://thexforce-combat-backend.hf.space/user/operations/{st.session_state.get('username')}",headers={ | |
"Content-Type":"application/json", | |
"Authorization":f"Bearer {tok}" | |
}) | |
useroperations_json=response.json() | |
with st.expander("operations"): | |
st.json(useroperations_json) | |
with tab3: | |
st.markdown("### newMATTER Bio Lab Outputs") | |
SHOWTABS() |