ajmerphull commited on
Commit
ed1fa2d
·
verified ·
1 Parent(s): 683d303

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -30
app.py CHANGED
@@ -1,41 +1,32 @@
1
- import gradio as gr
2
  from huggingface_hub import InferenceClient
 
 
3
 
4
- """
5
- For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
6
- """
7
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
8
 
9
-
10
- def respond(
11
- message,
12
- history: list[tuple[str, str]],
13
- system_message,
14
- max_tokens,
15
- temperature,
16
- top_p
17
- ):
18
  try:
19
- import json # Import json inside the function to avoid global import errors on spaces
20
  data_received = {
21
  "message": message,
22
- "history": history,
23
  "system_message": system_message,
24
  "max_tokens": max_tokens,
25
  "temperature": temperature,
26
  "top_p": top_p,
27
  }
28
- print(json.dumps(data_received, indent=4)) # Pretty print it to the logs
29
 
 
30
  messages = [{"role": "system", "content": system_message}]
31
- for val in history:
32
- if val[0]:
33
- messages.append({"role": "user", "content": val[0]})
34
- if val[1]:
35
- messages.append({"role": "assistant", "content": val[1]})
36
-
37
  messages.append({"role": "user", "content": message})
38
 
 
39
  response = ""
40
  for message in client.chat_completion(
41
  messages,
@@ -49,18 +40,15 @@ def respond(
49
  yield response
50
 
51
  except Exception as e:
52
- print(f"An error occurred: {e}") # Log any errors
53
- return "An error occurred during processing." # Return an error message to Gradio
 
54
 
55
 
56
- """
57
- For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
58
- """
59
- import gradio as gr # Import gradio here
60
- demo = gr.ChatInterface(
61
  respond,
62
  additional_inputs=[
63
- gr.Textbox(value="You are an AI assistant to respond to missed calls using text messaging. Keep responses short and specific.", label="System message"),
64
  gr.Slider(minimum=1, maximum=2048, value=100, step=1, label="Max new tokens"),
65
  gr.Slider(minimum=0.1, maximum=4.0, value=0.2, step=0.1, label="Temperature"),
66
  gr.Slider(minimum=0.1, maximum=1.0, value=0.50, step=0.05, label="Top-p (nucleus sampling)"),
 
 
1
  from huggingface_hub import InferenceClient
2
+ import gradio as gr
3
+ import json
4
 
 
 
 
5
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
6
 
7
+ def respond(message, chat_history, system_message, max_tokens, temperature, top_p):
 
 
 
 
 
 
 
 
8
  try:
9
+ # 1. Log received data (for debugging)
10
  data_received = {
11
  "message": message,
12
+ "chat_history": chat_history, # Correct name
13
  "system_message": system_message,
14
  "max_tokens": max_tokens,
15
  "temperature": temperature,
16
  "top_p": top_p,
17
  }
18
+ print(json.dumps(data_received, indent=4))
19
 
20
+ # 2. Convert chat_history to messages format
21
  messages = [{"role": "system", "content": system_message}]
22
+ for user_msg, bot_msg in chat_history: #unpack the chat history
23
+ if user_msg:
24
+ messages.append({"role": "user", "content": user_msg})
25
+ if bot_msg:
26
+ messages.append({"role": "assistant", "content": bot_msg})
 
27
  messages.append({"role": "user", "content": message})
28
 
29
+ # 3. Call Inference API
30
  response = ""
31
  for message in client.chat_completion(
32
  messages,
 
40
  yield response
41
 
42
  except Exception as e:
43
+ print(f"An error occurred: {e}")
44
+ yield "An error occurred during processing." # Important: Yield an error message
45
+
46
 
47
 
48
+ demo = gr.Chatbot( # Use gr.Chatbot
 
 
 
 
49
  respond,
50
  additional_inputs=[
51
+ gr.Textbox(value="You are an AI assistant for missed calls. Keep responses short and specific.", label="System message"),
52
  gr.Slider(minimum=1, maximum=2048, value=100, step=1, label="Max new tokens"),
53
  gr.Slider(minimum=0.1, maximum=4.0, value=0.2, step=0.1, label="Temperature"),
54
  gr.Slider(minimum=0.1, maximum=1.0, value=0.50, step=0.05, label="Top-p (nucleus sampling)"),