neuralleap's picture
Update app.py
9a4f681 verified
import gradio as gr
import os
import requests
# --------------------------
# Configuration
# --------------------------
HF_ENDPOINT_URL = "https://dqptyla9qxd15452.us-east-1.aws.endpoints.huggingface.cloud"
HF_TOKEN = os.environ.get("HF_TOKEN")
headers = {
"Authorization": f"Bearer {HF_TOKEN}",
"Content-Type": "application/json"
}
# --------------------------
# Function to Call Endpoint
# --------------------------
def generate_text(prompt, max_length=150, temperature=0.7):
payload = {
"inputs": prompt,
"parameters": {
"max_new_tokens": max_length,
"temperature": temperature,
"top_k": 50,
"top_p": 0.95,
"repetition_penalty": 1.5
}
}
try:
response = requests.post(HF_ENDPOINT_URL, headers=headers, json=payload)
if response.status_code == 200:
return response.json()[0]["generated_text"]
elif response.status_code == 404:
return "❌ Endpoint not found. Please check your HF_ENDPOINT_URL."
elif response.status_code == 403:
return "❌ Forbidden: Check your HF_TOKEN permissions."
elif response.status_code == 503:
return "❌ Service Unavailable: The endpoint may be starting up. Please wait and try again."
else:
return f"❌ Error {response.status_code}: {response.text}"
except Exception as e:
return f"❌ Failed to connect to endpoint: {str(e)}"
# --------------------------
# Gradio UI
# --------------------------
with gr.Blocks(title="Healthelic Burmese LLM (Hosted Inference Endpoint)") as demo:
gr.Markdown("## 🧠 Healthelic Burmese LLM")
gr.Markdown("This app connects to a Hugging Face Inference Endpoint to generate Burmese language text.\n\nEnter a prompt in Burmese, adjust settings, and click 'Generate Text'.")
with gr.Row():
with gr.Column(scale=3):
prompt = gr.Textbox(
lines=5,
placeholder="Enter your Burmese text here...",
label="Input Prompt"
)
with gr.Column(scale=1):
max_length = gr.Slider(
minimum=50,
maximum=500,
value=150,
step=10,
label="Max New Tokens"
)
temperature = gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.7,
step=0.1,
label="Temperature"
)
generate_btn = gr.Button("🚀 Generate Text")
output = gr.Textbox(lines=10, label="Generated Output")
generate_btn.click(
fn=generate_text,
inputs=[prompt, max_length, temperature],
outputs=output
)
with gr.Accordion("📌 Example Prompts", open=False):
gr.Markdown("Click on a prompt below to try it out:")
examples = [
["မင်္ဂလာပါ။ ကျွန်တော်က ကိုအောင်ပါ။ ရန်ကုန်မှာနေတယ်။ ဆရာလုပ်ပါတယ်။", 150, 0.7],
["မြန်မာနိုင်ငံမှာ မိုးရာသီမှာ မိုးဘယ်လောက်ကျလဲ။", 150, 0.6],
["အောင်မြင်တဲ့ကျောင်းသူတစ်ယောက်ဖြစ်ဖို့ ဘယ်လိုလေ့ကျင့်ရမလဲ။", 200, 0.8],
["မြန်မာ့ယဉ်ကျေးမှုအကြောင်း ပြောပြပါ။", 150, 0.7],
["သင်တောင်ကြီးသွားဖူးလား။ ဘယ်မှာသွားဖူးလဲ။", 150, 0.6]
]
for idx, ex in enumerate(examples):
example_btn = gr.Button(f"Example {idx+1}")
example_btn.click(
lambda e=ex: (e[0], e[1], e[2]),
inputs=[],
outputs=[prompt, max_length, temperature]
).then(
fn=generate_text,
inputs=[prompt, max_length, temperature],
outputs=output
)
gr.Markdown("""
---
### ℹ️ Troubleshooting
- If the app says "❌ Endpoint not found", double-check your `HF_ENDPOINT_URL`.
- If the model takes a few seconds to respond, it may be waking up from idle.
- Ensure your Hugging Face token is added as `HF_TOKEN` under **Settings → Secrets**.
""")
# --------------------------
# Launch the Space
# --------------------------
demo.launch(
show_error=True,
server_name="0.0.0.0",
share=False
)