PanagiotisMark's picture
- Test commit for new gradio app logic (calling the deployed backend directly)
00c5b22
raw
history blame
2 kB
import os
import gradio as gr
import requests
# retrieve HF space secrets
auth_key = os.getenv('AUTH_KEY')
api_url = os.getenv('API_URL')
api_port = os.getenv('API_PORT')
HEADERS = {
'Content-Type': 'application/json'
}
def news_analysis(text):
try:
response = requests.post(
f'{api_url}:{api_port}/news_analysis',
json={
'doc_id': '1',
'text': text,
'auth_key': auth_key
},
headers=HEADERS
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as error:
print('Error fetching data from news_analysis:', error)
raise
def claim_verification(text):
try:
response = requests.post(
f'{api_url}:{api_port}/claim_verification',
json={
'doc_id': '1',
'text': text,
'auth_key': auth_key
},
headers=HEADERS
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as error:
print('Error fetching data from claim_verification:', error)
raise
iface_news_analysis = gr.Interface(
fn=news_analysis,
inputs=gr.inputs.Textbox(lines=10, label="News Article Text"),
outputs=gr.outputs.JSON(label="Classification Result"),
title="News Analysis",
description="Classify the domain of a news article and detect major claims."
)
iface_claim_verification = gr.Interface(
fn=claim_verification,
inputs=gr.inputs.Textbox(lines=10, label="Claim Text"),
outputs=gr.outputs.JSON(label="Verification Result"),
title="Claim Verification",
description="Verify claims made in a news article."
)
iface = gr.TabbedInterface([iface_news_analysis, iface_claim_verification], ["News Analysis", "Claim Verification"])
# launch the interface
iface.launch(server_name="0.0.0.0", server_port=7860)