Ana8413 Klariiii commited on
Commit
90cf807
·
verified ·
1 Parent(s): 30b0c87

try to fix error (#3)

Browse files

- try to fix error (a99672311687ee28958543c593c2498c2d62b0de)


Co-authored-by: Klara Sofia Varga <Klariiii@users.noreply.huggingface.co>

Files changed (1) hide show
  1. app.py +52 -20
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
 
4
-
5
  def respond(
6
  message,
7
  history: list[dict[str, str]],
@@ -11,33 +10,66 @@ def respond(
11
  top_p,
12
  hf_token: None,
13
  ):
14
- """
15
- 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
16
- """
17
  client = InferenceClient(model="Ana8413/model")
18
 
 
19
  messages = [{"role": "system", "content": system_message}]
20
-
21
  messages.extend(history)
22
-
23
  messages.append({"role": "user", "content": message})
24
 
25
  response = ""
26
 
27
- for message in client.chat_completion(
28
- messages,
29
- max_tokens=max_tokens,
30
- stream=True,
31
- temperature=temperature,
32
- top_p=top_p,
33
- ):
34
- choices = message.choices
35
- token = ""
36
- if len(choices) and choices[0].delta.content:
37
- token = choices[0].delta.content
38
-
39
- response += token
40
- yield response
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
 
43
  """
 
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
 
 
4
  def respond(
5
  message,
6
  history: list[dict[str, str]],
 
10
  top_p,
11
  hf_token: None,
12
  ):
13
+ from huggingface_hub import InferenceClient
14
+
 
15
  client = InferenceClient(model="Ana8413/model")
16
 
17
+ # Build the message history for the model
18
  messages = [{"role": "system", "content": system_message}]
 
19
  messages.extend(history)
 
20
  messages.append({"role": "user", "content": message})
21
 
22
  response = ""
23
 
24
+ # Use try/finally to safely iterate over the streaming generator
25
+ try:
26
+ for chunk in client.chat_completion(
27
+ messages,
28
+ max_tokens=max_tokens,
29
+ stream=True,
30
+ temperature=temperature,
31
+ top_p=top_p,
32
+ ):
33
+ # Some chunks may not have choices or content
34
+ if chunk.choices and chunk.choices[0].delta.content:
35
+ token = chunk.choices[0].delta.content
36
+ response += token
37
+ yield response # Yield incremental response for streaming
38
+ except Exception as e:
39
+ # Catch other possible exceptions from the generator
40
+ print(f"Stream error: {e}")
41
+ yield response # Return whatever has been accumulated so far
42
+
43
+ """
44
+ For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
45
+ """
46
+ chatbot = gr.ChatInterface(
47
+ respond,
48
+ type="messages",
49
+ additional_inputs=[
50
+ gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
51
+ gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
52
+ gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
53
+ gr.Slider(
54
+ minimum=0.1,
55
+ maximum=1.0,
56
+ value=0.95,
57
+ step=0.05,
58
+ label="Top-p (nucleus sampling)",
59
+ ),
60
+ ],
61
+ )
62
+
63
+ with gr.Blocks() as demo:
64
+ #with gr.Sidebar():
65
+ # gr.LoginButton()
66
+ chatbot.render()
67
+
68
+
69
+ if __name__ == "__main__":
70
+ demo.launch(show_error=True)
71
+
72
+
73
 
74
 
75
  """