makekali commited on
Commit
6eb6b73
·
verified ·
1 Parent(s): 7942b70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -12
app.py CHANGED
@@ -3,16 +3,25 @@ import os
3
  import requests
4
  import tempfile
5
 
 
6
  HF_API_TOKEN = os.getenv("HF_TOKEN")
 
 
 
7
  MODEL_ID = "rohitnagareddy/Qwen3-0.6B-Coding-Finetuned-v1"
8
  API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
9
  HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
10
 
11
  def query_hf_api(prompt):
12
- response = requests.post(API_URL, headers=HEADERS, json={"inputs": prompt})
13
- if response.status_code == 200:
14
- return response.json()[0]["generated_text"]
15
- return f"[Error] {response.status_code}: {response.text}"
 
 
 
 
 
16
 
17
  def chat_fn(prompt, chat_history):
18
  response = query_hf_api(prompt)
@@ -21,18 +30,21 @@ def chat_fn(prompt, chat_history):
21
  return chat_history, chat_history
22
 
23
  def save_chat(chat_history):
24
- with tempfile.NamedTemporaryFile(delete=False, suffix=".txt", mode="w", encoding="utf-8") as f:
25
- for entry in chat_history:
26
- f.write(f"{entry['role'].capitalize()}: {entry['content']}\n\n")
27
- return f.name # return path to file
 
 
 
28
 
29
  with gr.Blocks(theme=gr.themes.Monochrome()) as demo:
30
  gr.Markdown("# 🤖 Qwen3 Coding Chatbot (Gradio + HF API)")
31
-
32
  with gr.Row():
33
  clear = gr.Button("🧹 Clear Chat")
34
  download_btn = gr.Button("⬇️ Download Chat")
35
-
36
  chat = gr.Chatbot(label="Qwen Chat", type="messages")
37
  msg = gr.Textbox(label="Your message", placeholder="Ask me something...")
38
  submit = gr.Button("🚀 Send")
@@ -45,5 +57,3 @@ with gr.Blocks(theme=gr.themes.Monochrome()) as demo:
45
  download_btn.click(save_chat, [history], download_file)
46
 
47
  demo.launch()
48
-
49
-
 
3
  import requests
4
  import tempfile
5
 
6
+ # Validate HF_TOKEN environment variable
7
  HF_API_TOKEN = os.getenv("HF_TOKEN")
8
+ if not HF_API_TOKEN:
9
+ raise ValueError("HF_TOKEN environment variable is not set. Please set it to your Hugging Face API token.")
10
+
11
  MODEL_ID = "rohitnagareddy/Qwen3-0.6B-Coding-Finetuned-v1"
12
  API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
13
  HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
14
 
15
  def query_hf_api(prompt):
16
+ try:
17
+ response = requests.post(API_URL, headers=HEADERS, json={"inputs": prompt})
18
+ response.raise_for_status() # Raise an exception for HTTP errors
19
+ data = response.json()
20
+ if isinstance(data, list) and "generated_text" in data[0]:
21
+ return data[0]["generated_text"]
22
+ return "[Error] Unexpected response format."
23
+ except requests.exceptions.RequestException as e:
24
+ return f"[Error] API request failed: {e}"
25
 
26
  def chat_fn(prompt, chat_history):
27
  response = query_hf_api(prompt)
 
30
  return chat_history, chat_history
31
 
32
  def save_chat(chat_history):
33
+ try:
34
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".txt", mode="w", encoding="utf-8") as f:
35
+ for entry in chat_history:
36
+ f.write(f"{entry['role'].capitalize()}: {entry['content']}\n\n")
37
+ return gr.File.update(value=f.name, visible=True)
38
+ except Exception as e:
39
+ return f"[Error] Failed to save chat: {e}"
40
 
41
  with gr.Blocks(theme=gr.themes.Monochrome()) as demo:
42
  gr.Markdown("# 🤖 Qwen3 Coding Chatbot (Gradio + HF API)")
43
+
44
  with gr.Row():
45
  clear = gr.Button("🧹 Clear Chat")
46
  download_btn = gr.Button("⬇️ Download Chat")
47
+
48
  chat = gr.Chatbot(label="Qwen Chat", type="messages")
49
  msg = gr.Textbox(label="Your message", placeholder="Ask me something...")
50
  submit = gr.Button("🚀 Send")
 
57
  download_btn.click(save_chat, [history], download_file)
58
 
59
  demo.launch()