cyberandy's picture
Update app.py
eef03e6
raw
history blame
1.98 kB
import streamlit as st
import requests
secret_key = st.secrets["secret_key"]
def call_api(url, keyword, wl_key, description_narrative):
api_url = "https://wl-quality-rating.eastus2.inference.ml.azure.com/score"
payload = {
"url": url,
"keyword": keyword,
"wl_key": wl_key,
"description_narrative": description_narrative
}
headers = {
"Content-Type": "application/json",
"User-Agent": "insomnia/8.2.0",
"Authorization": "Bearer " + secret_key
}
response = requests.request("POST", api_url, json=payload, headers=headers)
return response.json() # assuming API responds with JSON
# User inputs
url = st.text_input("Enter the URL of the webpage:")
query = st.text_input("Enter the query the content aims at ranking for:")
narrative = st.text_area("Enter the descriptive narrative of the searcher:")
wordlift_key = st.text_input("Enter the WordLift Key:")
# Button to execute analysis
if st.button("Analyze"):
if url and query and narrative and wordlift_key:
response = call_api(url, query, wordlift_key, narrative)
# Display JSON response
st.json(response)
# Additional visual representation & analysis based on API response.
# You will need to adjust this part based on the actual structure of the API response.
try:
M = response["analyze"][0]["M"]
T = response["analyze"][0]["T"]
# Display traffic light system
if M == 2 and T == 2:
st.write("🟒 Content is highly relevant and trustworthy")
elif M == 1 or T == 1:
st.write("🟑 Content is partly relevant/helpful")
else:
st.write("πŸ”΄ Content is not relevant")
except KeyError:
st.error("Invalid API response format. Unable to extract M and T values.")
else:
st.warning("Please provide all inputs!")