whitphx's picture
whitphx HF Staff
Change to call the API inside on_change
87a4d41
import logging
import streamlit as st
import os
import requests
logger = logging.getLogger(__name__)
def query(text):
logger.info("Query the API with the text: %s" % text)
API_URL = "https://api-inference.huggingface.co/models/j-hartmann/emotion-english-distilroberta-base"
headers = {"Authorization": "Bearer " + os.environ["HF_API_KEY"]}
payload = {"inputs": text}
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
# Initialize the `prompts` session state
if "prompts" not in st.session_state:
st.session_state.prompts = []
col1, col2 = st.columns(2)
with col1:
if st.button("Add query"):
st.session_state.prompts.append(("", None))
if st.button("Remove query"):
st.session_state.prompts.pop(0)
def card(index: int):
def on_change():
prompt = st.session_state[f"prompt_{index}"]
result = query(prompt)
st.session_state.prompts[index] = (prompt, result)
st.text_input("Prompt:", key=f"prompt_{index}", value=st.session_state.prompts[index][0], on_change=on_change)
prompt, result = st.session_state.prompts[index]
st.write(f'Prompt: "{prompt}"')
st.json(result)
with col2:
for index in range(len(st.session_state.prompts)):
card(index)