import gradio as gr
import urllib.request
import json
API_URL = "https://api-inference.huggingface.co/models/mimi94/subway-assistant-v1"
headers = {"Content-Type": "application/json"}
def query(payload):
data = json.dumps(payload).encode("utf-8")
req = urllib.request.Request(API_URL, data=data, headers=headers, method="POST")
try:
with urllib.request.urlopen(req) as response:
result = json.loads(response.read().decode("utf-8"))
return result
except Exception as e:
return [{"generated_text": f"Erreur : {str(e)}"}]
def chat(message, history):
payload = {"inputs": f"### Question: {message}\n### Réponse:"}
output = query(payload)
if isinstance(output, list) and len(output) > 0:
full_text = output[0].get("generated_text", str(output))
if "### Réponse:" in full_text:
return full_text.split("### Réponse:")[1].strip()
return full_text
return str(output)
demo = gr.ChatInterface(chat, title="🥪 Assistant Subway", description="Pose tes questions sur les procédures Subway !")
demo.launch()