Spaces:
Runtime error
Runtime error
File size: 2,399 Bytes
8a3759d 7c6aa59 ac000e9 7c6aa59 033c928 7c6aa59 d4f0069 033c928 7c6aa59 d4f0069 033c928 d4f0069 a4db61c 7c6aa59 a4db61c 7c6aa59 033c928 7c6aa59 167d317 7c6aa59 167d317 ac000e9 167d317 ac000e9 167d317 033c928 7c6aa59 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
import streamlit as st
import requests
import json
import time
st.title("Transaction Summarizer")
# Input for selecting model
model_selection = st.radio("Select model to use:", ["Gemma", "Tinyllama"])
# Input for submitting new transactions
new_transactions = st.text_area("Enter your transactions (comma-separated)").split(',')
new_transactions = [i.strip() for i in new_transactions if i.strip()]
# Determine URL based on model selection
if model_selection == "Gemma":
base_url = "https://api.runpod.ai/v2/cdvoxheesm31dc/"
elif model_selection == "Tinyllama":
base_url = "https://api.runpod.ai/v2/0wnm75vx5o77s1/"
# Submit button for new transactions
if st.button("Submit New Transactions"):
url = base_url + "run"
# Retrieve API key from Streamlit secrets
api_key = st.secrets["api_key"]
headers = {
'Content-Type': 'application/json',
'Authorization': api_key
}
data = {
'input': {
'transaction': new_transactions
}
}
json_data = json.dumps(data)
# Show a spinner while waiting for the response
with st.spinner("Processing..."):
try:
# Send POST request to start processing
response = requests.post(url, headers=headers, data=json_data)
response.raise_for_status() # Raise an error for bad status codes
# Parse response to get job ID
result = response.json()
job_id = result['id']
st.write(f"New Job ID: {job_id}")
# Keep checking status until it's no longer 'IN_QUEUE'
status_url = f"{base_url}status/{job_id}"
status = "IN_QUEUE"
while status != "COMPLETED":
status_response = requests.get(status_url, headers=headers)
status_data = status_response.json()
status = status_data.get('status', '')
time.sleep(2) # Adjust interval as needed
# Once status changes, display final status
st.write("Final status:", status_data)
except requests.exceptions.RequestException as e:
st.error(f"An error occurred: {e}")
finally:
st.spinner(False) # Turn off the spinner after response is received
else:
if st.button("Reset"):
st.text_area("Enter your transactions (comma-separated)", value="")
|