Spaces:
Sleeping
Sleeping
| 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) |