rahul2121's picture
Upload app.py
e2a656c verified
raw
history blame
1.47 kB
import os
import requests
import gradio as gr
HF_TOKEN = os.environ.get("HF_TOKEN")
if not HF_TOKEN:
raise Exception("HF_TOKEN is missing.")
API_URL = "https://api-inference.huggingface.co/models/castorini/t5-base-canard"
HEADERS = {"Authorization": f"Bearer {HF_TOKEN}"}
def rewrite(queries_text):
if not queries_text.strip():
return "Enter queries (one per line)."
queries = [q.strip() for q in queries_text.split("\n") if q.strip()]
results = []
for q in queries:
payload = {"inputs": q}
try:
r = requests.post(API_URL, headers=HEADERS, json=payload, timeout=30)
output = r.json()
results.append(output[0]["generated_text"] if isinstance(output, list) and len(output) > 0 and "generated_text" in output[0] else f"Error: {output}")
except Exception as e:
results.append(f"Error: {str(e)}")
return "\n\n".join([f"Original: {q}\nRewritten: {r}\n---" for q, r in zip(queries, results)])
demo = gr.Interface(
fn=rewrite,
inputs=gr.Textbox(label="Queries (one per line)", lines=5, placeholder="What is AI?\nHow does it work?"),
outputs=gr.Textbox(label="Rewritten Results", lines=10),
title="CANARD Rewrite API",
description="Rewrites queries using T5-base-canard. API: POST /api/rewrite/ with {'data': ['query1', ...]}"
)
if __name__ == "__main__":
demo.launch(server_name="0.0.0.0", server_port=7860)