mikeee commited on
Commit
05bde1f
·
verified ·
1 Parent(s): f429076

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -0
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """cf https://huggingface.co/spaces/Nymbo/Qwen-2.5-72B-Instruct/blob/main/app.py"""
2
+ import gradio as gr
3
+ from openai import OpenAI
4
+ import os
5
+
6
+ ACCESS_TOKEN = os.getenv("HF_TOKEN")
7
+
8
+ client = OpenAI(
9
+ base_url="https://api-inference.huggingface.co/v1/",
10
+ api_key=ACCESS_TOKEN,
11
+ )
12
+
13
+ def respond(
14
+ message,
15
+ history: list[tuple[str, str]],
16
+ system_message,
17
+ max_tokens,
18
+ temperature,
19
+ top_p,
20
+ ):
21
+ messages = [{"role": "system", "content": system_message}]
22
+
23
+ for val in history:
24
+ if val[0]:
25
+ messages.append({"role": "user", "content": val[0]})
26
+ if val[1]:
27
+ messages.append({"role": "assistant", "content": val[1]})
28
+
29
+ messages.append({"role": "user", "content": message})
30
+
31
+ response = ""
32
+
33
+ for message in client.chat.completions.create(
34
+ model="Qwen/Qwen2.5-72B-Instruct",
35
+ max_tokens=max_tokens,
36
+ stream=True,
37
+ temperature=temperature,
38
+ top_p=top_p,
39
+ messages=messages,
40
+ ):
41
+ token = message.choices[0].delta.content
42
+
43
+ response += token
44
+ yield response
45
+
46
+ chatbot = gr.Chatbot(height=600)
47
+
48
+ demo = gr.ChatInterface(
49
+ respond,
50
+ additional_inputs=[
51
+ gr.Textbox(value="", label="System message"),
52
+ gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
53
+ gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
54
+ gr.Slider(
55
+ minimum=0.1,
56
+ maximum=1.0,
57
+ value=0.95,
58
+ step=0.05,
59
+ label="Top-P",
60
+ ),
61
+
62
+ ],
63
+ fill_height=True,
64
+ chatbot=chatbot,
65
+ theme="Nymbo/Alyx_Theme",
66
+ )
67
+ if __name__ == "__main__":
68
+ demo.launch()